Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 3 вперед Ctrl→ все |
gepard1980 Member Откуда: Ярославль Сообщений: 244 |
В SSMS выбрал пункт shrink database. Появился диалог в котором показывается свободное место. Аж 78%. Нажимаю OK. Долго думает, но база не уменьшается. Пробовал выбирать пункт shrink file, указывал файл данных. Тоже результат нулевой. Журнал транзакций без проблем шринкается. Пробовал скриптом. Тоже результата нет. Как было 78% available free space так и осталось. Что делать? К сообщению приложен файл. Размер - 4Kb |
12 дек 18, 11:59 [21761259] Ответить | Цитировать Сообщить модератору |
StarikNavy Member Откуда: Москва Сообщений: 2395 |
gepard1980, галочку на рискунке нажимали? (с прочтением предупреждения) |
12 дек 18, 12:16 [21761298] Ответить | Цитировать Сообщить модератору |
gepard1980 Member Откуда: Ярославль Сообщений: 244 |
StarikNavy, нет. Вечером нагрузка спадет - попробую. |
12 дек 18, 14:04 [21761536] Ответить | Цитировать Сообщить модератору |
uaggster Member Откуда: Сообщений: 960 |
А вы уверены, что вам нужен шринк БД? Например, если БД во время работы создает какие-то большие объекты внутри БД, а потом - удаляет их, то шринк не поможет. Файл базы о5 раздуется, да еще будет тормозить при раздувании. |
12 дек 18, 14:12 [21761545] Ответить | Цитировать Сообщить модератору |
gepard1980 Member Откуда: Ярославль Сообщений: 244 |
uaggster, больших объектов там точно нет. просто типовая база юзеров. |
12 дек 18, 14:15 [21761550] Ответить | Цитировать Сообщить модератору |
uaggster Member Откуда: Сообщений: 960 |
gepard1980, а откуда тогда столько места? Посмотрите, может у вас FillFactor слишком маленький на кластерных индексах, и индексах вообще? |
12 дек 18, 14:24 [21761578] Ответить | Цитировать Сообщить модератору |
gepard1980 Member Откуда: Ярославль Сообщений: 244 |
uaggster, FillFactor всегда по-умолчанию который идет |
12 дек 18, 15:25 [21761705] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
кодом посмотрите свободное место, sp_spaceused |
12 дек 18, 15:30 [21761714] Ответить | Цитировать Сообщить модератору |
msLex Member Откуда: Сообщений: 8730 |
Свободное место на страниц (а не FillFactor) не отображается в качестве свободного места в БД. PS Сам FillFactor вообще актуален только при создании и ребилде индекса. |
||
12 дек 18, 15:37 [21761730] Ответить | Цитировать Сообщить модератору |
gepard1980 Member Откуда: Ярославль Сообщений: 244 |
Yasha123, вот: К сообщению приложен файл. Размер - 8Kb |
12 дек 18, 15:39 [21761736] Ответить | Цитировать Сообщить модератору |
DaniilSeryi Member Откуда: Сообщений: 1766 |
gepard1980, маленький нюанс - после шринка придётся реорганизовывать индексы, а этот процесс приведёт к увеличению файла БД. Да ещё и статистику придётся обновлять. Кстати, кто может мне объяснить, какая взаимосвязь между реорганизацией индексов и необходимостью обновления статистики (гистограммы распределения, чтоб её)? |
12 дек 18, 15:43 [21761742] Ответить | Цитировать Сообщить модератору |
uaggster Member Откуда: Сообщений: 960 |
Эээ... к реорганизации индексов бонусом идет пересчет статистики по этому индексу. Поэтому пересчитывать статистику после реорганизации/перестроения - не нужно. Собственно, на быстродействие запросов коренным образом влияет именно актуальная статистика, которая автоматом актуализируется при ребилде, поэтому ребилд "помогает". На самом же деле фрагментирование индексов на быстродействие, конечно, влияет, но не радикальным образом, и, скажем так, в третьих-четвертых по значимости, и их дефрагментация не является остронеобходимой задачей. Как то так. |
||
12 дек 18, 16:43 [21761827] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
как-то совсем не так. при реорге никакая статистика не обновляется, при ребилде да, по ключевым полям будет обновлена с аналогом fullscan. обычная же колоночная статистика по неключевым полям не пересобирается ни при реорге, ни при ребилде, ее надо пересчитывать самим и после ребилда тоже, не говоря уж о реорге |
||
12 дек 18, 16:58 [21761841] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
для начала это неправда. потому что реорг за раз меняет местами пару страниц, а не выстраивает индекс заново, так что места в файле данных для реорга не надо. вот в лог запишет по-полной, это да. но это уже файл лога. ну и потом, кто сказал, что у ТС вообще есть индексы. может, там сплошные неиндексированные кучи |
||
12 дек 18, 17:06 [21761859] Ответить | Цитировать Сообщить модератору |
gepard1980 Member Откуда: Ярославль Сообщений: 244 |
Yasha123, индексы естественно есть во всех таблицах и кластерные и некластерные. |
12 дек 18, 17:09 [21761866] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
gepard1980, еще раз можете проверить размеры файлов кодом? select file_id, type_desc, cast(size * 8 / 1024/ 1024. as decimal(10,2)) as Gb from sys.database_files; |
12 дек 18, 17:12 [21761872] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
хорошо, что есть. тогда после шринка вам действительно стоит отребилдить индексы. только не надо реорг делать. на таких смешных объемах ребилд в самый раз |
||
12 дек 18, 17:14 [21761881] Ответить | Цитировать Сообщить модератору |
gepard1980 Member Откуда: Ярославль Сообщений: 244 |
Yasha123, вот: К сообщению приложен файл. Размер - 5Kb |
12 дек 18, 17:23 [21761894] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
а шринк кодом и не через гуи что пишет?dbcc shrinkfile (1); |
12 дек 18, 17:27 [21761901] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
Там может идти хронический drop create, например. Если уж автор пишет, что не кучи. |
12 дек 18, 18:23 [21761981] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
как можно, используя drop create, не давать высвободить 58Гб? |
||
12 дек 18, 18:32 [21761991] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
Yasha123, создали тысячу таблиц, 999 дропнули, последняя не дает усечь файл. |
12 дек 18, 18:39 [21761999] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
Владислав Колосов, почему не дает-то? |
12 дек 18, 18:47 [21762005] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
Yasha123, потому что в конце файла находится. Чтобы отсечь хвост таблицу надо переместить. Выполнить реогранизацию. |
12 дек 18, 18:56 [21762011] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
так шринк же этим и занимается. перемещает из конца файла в начало. какая ему разница, там ваша 1000ая таблица или страницы самой первой таблицы, которые рассплитились и попали в конец файла? |
||
12 дек 18, 19:14 [21762021] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 3 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |