powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Много пустого места в базе
25 сообщений из 54, страница 1 из 3
Много пустого места в базе
    #39746558
gepard1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В SSMS выбрал пункт shrink database. Появился диалог в котором показывается свободное место. Аж 78%. Нажимаю OK. Долго думает, но база не уменьшается. Пробовал выбирать пункт shrink file, указывал файл данных. Тоже результат нулевой. Журнал транзакций без проблем шринкается. Пробовал скриптом. Тоже результата нет. Как было 78% available free space так и осталось. Что делать?
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746575
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard1980,

галочку на рискунке нажимали? (с прочтением предупреждения)
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746666
gepard1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StarikNavy, нет. Вечером нагрузка спадет - попробую.
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746671
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вы уверены, что вам нужен шринк БД?
Например, если БД во время работы создает какие-то большие объекты внутри БД, а потом - удаляет их, то шринк не поможет.
Файл базы о5 раздуется, да еще будет тормозить при раздувании.
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746673
gepard1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uaggster, больших объектов там точно нет. просто типовая база юзеров.
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746683
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gepard1980, а откуда тогда столько места?
Посмотрите, может у вас FillFactor слишком маленький на кластерных индексах, и индексах вообще?
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746736
gepard1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uaggster, FillFactor всегда по-умолчанию который идет
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746742
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кодом посмотрите свободное место,
sp_spaceused
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746750
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggstergepard1980, а откуда тогда столько места?
Посмотрите, может у вас FillFactor слишком маленький на кластерных индексах, и индексах вообще?

Свободное место на страниц (а не FillFactor) не отображается в качестве свободного места в БД.

PS
Сам FillFactor вообще актуален только при создании и ребилде индекса.
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746753
gepard1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123, вот:
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746757
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard1980,

маленький нюанс - после шринка придётся реорганизовывать индексы, а этот процесс приведёт к увеличению файла БД. Да ещё и статистику придётся обновлять.

Кстати, кто может мне объяснить, какая взаимосвязь между реорганизацией индексов и необходимостью обновления статистики (гистограммы распределения, чтоб её)?
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746802
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DaniilSeryigepard1980,

маленький нюанс - после шринка придётся реорганизовывать индексы, а этот процесс приведёт к увеличению файла БД. Да ещё и статистику придётся обновлять.

Кстати, кто может мне объяснить, какая взаимосвязь между реорганизацией индексов и необходимостью обновления статистики (гистограммы распределения, чтоб её)?
Эээ... к реорганизации индексов бонусом идет пересчет статистики по этому индексу. Поэтому пересчитывать статистику после реорганизации/перестроения - не нужно.
Собственно, на быстродействие запросов коренным образом влияет именно актуальная статистика, которая автоматом актуализируется при ребилде, поэтому ребилд "помогает".
На самом же деле фрагментирование индексов на быстродействие, конечно, влияет, но не радикальным образом, и, скажем так, в третьих-четвертых по значимости, и их дефрагментация не является остронеобходимой задачей.

Как то так.
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746809
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterЭээ... к реорганизации индексов бонусом идет пересчет статистики по этому индексу . Поэтому пересчитывать статистику после реорганизации/перестроения - не нужно.
...
Как то так.
как-то совсем не так.
при реорге никакая статистика не обновляется,
при ребилде да, по ключевым полям будет обновлена с аналогом fullscan.
обычная же колоночная статистика по неключевым полям не пересобирается ни при реорге, ни при ребилде,
ее надо пересчитывать самим и после ребилда тоже,
не говоря уж о реорге
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746820
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilSeryiпосле шринка придётся реорганизовывать индексы, а этот процесс приведёт к увеличению файла БД
для начала это неправда.
потому что реорг за раз меняет местами пару страниц,
а не выстраивает индекс заново, так что места в файле данных для реорга не надо.
вот в лог запишет по-полной, это да.
но это уже файл лога.

ну и потом, кто сказал, что у ТС вообще есть индексы.
может, там сплошные неиндексированные кучи
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746824
gepard1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123, индексы естественно есть во всех таблицах и кластерные и некластерные.
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746826
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard1980,
еще раз можете проверить размеры файлов кодом?
Код: sql
1.
2.
select file_id, type_desc, cast(size * 8 / 1024/ 1024. as decimal(10,2)) as Gb
from sys.database_files;
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746830
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard1980индексы естественно есть во всех таблицах и кластерные и некластерные.
хорошо, что есть.
тогда после шринка вам действительно стоит отребилдить индексы.
только не надо реорг делать.
на таких смешных объемах ребилд в самый раз
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746833
gepard1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123, вот:
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746838
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а шринк кодом и не через гуи что пишет?
Код: sql
1.
dbcc shrinkfile (1);
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746880
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там может идти хронический drop create, например. Если уж автор пишет, что не кучи.
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746887
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовТам может идти хронический drop create, например. Если уж автор пишет, что не кучи.
как можно, используя drop create, не давать высвободить 58Гб?
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746893
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

создали тысячу таблиц, 999 дропнули, последняя не дает усечь файл.
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746898
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,
почему не дает-то?
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746903
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

потому что в конце файла находится. Чтобы отсечь хвост таблицу надо переместить. Выполнить реогранизацию.
...
Рейтинг: 0 / 0
Много пустого места в базе
    #39746907
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовYasha123,

потому что в конце файла находится. Чтобы отсечь хвост таблицу надо переместить. Выполнить реогранизацию.
так шринк же этим и занимается. перемещает из конца файла в начало. какая ему разница, там ваша 1000ая таблица или страницы самой первой таблицы, которые рассплитились и попали в конец файла?
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 1 из 3
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Много пустого места в базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]