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

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

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

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

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

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

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

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

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

ну и потом, кто сказал, что у ТС вообще есть индексы.
может, там сплошные неиндексированные кучи
...
Рейтинг: 0 / 0
12.12.2018, 17:09
    #39746824
gepard1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много пустого места в базе
Yasha123, индексы естественно есть во всех таблицах и кластерные и некластерные.
...
Рейтинг: 0 / 0
12.12.2018, 17:12
    #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
12.12.2018, 17:14
    #39746830
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много пустого места в базе
gepard1980индексы естественно есть во всех таблицах и кластерные и некластерные.
хорошо, что есть.
тогда после шринка вам действительно стоит отребилдить индексы.
только не надо реорг делать.
на таких смешных объемах ребилд в самый раз
...
Рейтинг: 0 / 0
12.12.2018, 17:23
    #39746833
gepard1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много пустого места в базе
Yasha123, вот:
...
Рейтинг: 0 / 0
12.12.2018, 17:27
    #39746838
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много пустого места в базе
а шринк кодом и не через гуи что пишет?
Код: sql
1.
dbcc shrinkfile (1);
...
Рейтинг: 0 / 0
12.12.2018, 18:23
    #39746880
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много пустого места в базе
Там может идти хронический drop create, например. Если уж автор пишет, что не кучи.
...
Рейтинг: 0 / 0
12.12.2018, 18:32
    #39746887
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много пустого места в базе
Владислав КолосовТам может идти хронический drop create, например. Если уж автор пишет, что не кучи.
как можно, используя drop create, не давать высвободить 58Гб?
...
Рейтинг: 0 / 0
12.12.2018, 18:39
    #39746893
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много пустого места в базе
Yasha123,

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

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

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


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