Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
В SSMS выбрал пункт shrink database. Появился диалог в котором показывается свободное место. Аж 78%. Нажимаю OK. Долго думает, но база не уменьшается. Пробовал выбирать пункт shrink file, указывал файл данных. Тоже результат нулевой. Журнал транзакций без проблем шринкается. Пробовал скриптом. Тоже результата нет. Как было 78% available free space так и осталось. Что делать?

К сообщению приложен файл. Размер - 4Kb
12 дек 18, 11:59    [21761259]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2414
gepard1980,

галочку на рискунке нажимали? (с прочтением предупреждения)
12 дек 18, 12:16    [21761298]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
StarikNavy, нет. Вечером нагрузка спадет - попробую.
12 дек 18, 14:04    [21761536]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
uaggster
Member

Откуда:
Сообщений: 1030
А вы уверены, что вам нужен шринк БД?
Например, если БД во время работы создает какие-то большие объекты внутри БД, а потом - удаляет их, то шринк не поможет.
Файл базы о5 раздуется, да еще будет тормозить при раздувании.
12 дек 18, 14:12    [21761545]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
uaggster, больших объектов там точно нет. просто типовая база юзеров.
12 дек 18, 14:15    [21761550]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
uaggster
Member

Откуда:
Сообщений: 1030
gepard1980, а откуда тогда столько места?
Посмотрите, может у вас FillFactor слишком маленький на кластерных индексах, и индексах вообще?
12 дек 18, 14:24    [21761578]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
uaggster, FillFactor всегда по-умолчанию который идет
12 дек 18, 15:25    [21761705]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
кодом посмотрите свободное место,
sp_spaceused
12 дек 18, 15:30    [21761714]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
msLex
Member

Откуда:
Сообщений: 9015
uaggster
gepard1980, а откуда тогда столько места?
Посмотрите, может у вас FillFactor слишком маленький на кластерных индексах, и индексах вообще?


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

PS
Сам FillFactor вообще актуален только при создании и ребилде индекса.
12 дек 18, 15:37    [21761730]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, вот:

К сообщению приложен файл. Размер - 8Kb
12 дек 18, 15:39    [21761736]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1932
gepard1980,

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

Кстати, кто может мне объяснить, какая взаимосвязь между реорганизацией индексов и необходимостью обновления статистики (гистограммы распределения, чтоб её)?
12 дек 18, 15:43    [21761742]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
uaggster
Member

Откуда:
Сообщений: 1030
DaniilSeryi
gepard1980,

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

Кстати, кто может мне объяснить, какая взаимосвязь между реорганизацией индексов и необходимостью обновления статистики (гистограммы распределения, чтоб её)?

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

Как то так.
12 дек 18, 16:43    [21761827]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
uaggster
Эээ... к реорганизации индексов бонусом идет пересчет статистики по этому индексу. Поэтому пересчитывать статистику после реорганизации/перестроения - не нужно.
...
Как то так.

как-то совсем не так.
при реорге никакая статистика не обновляется,
при ребилде да, по ключевым полям будет обновлена с аналогом fullscan.
обычная же колоночная статистика по неключевым полям не пересобирается ни при реорге, ни при ребилде,
ее надо пересчитывать самим и после ребилда тоже,
не говоря уж о реорге
12 дек 18, 16:58    [21761841]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

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

для начала это неправда.
потому что реорг за раз меняет местами пару страниц,
а не выстраивает индекс заново, так что места в файле данных для реорга не надо.
вот в лог запишет по-полной, это да.
но это уже файл лога.

ну и потом, кто сказал, что у ТС вообще есть индексы.
может, там сплошные неиндексированные кучи
12 дек 18, 17:06    [21761859]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, индексы естественно есть во всех таблицах и кластерные и некластерные.
12 дек 18, 17:09    [21761866]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
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]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
gepard1980
индексы естественно есть во всех таблицах и кластерные и некластерные.

хорошо, что есть.
тогда после шринка вам действительно стоит отребилдить индексы.
только не надо реорг делать.
на таких смешных объемах ребилд в самый раз
12 дек 18, 17:14    [21761881]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, вот:

К сообщению приложен файл. Размер - 5Kb
12 дек 18, 17:23    [21761894]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
а шринк кодом и не через гуи что пишет?
dbcc shrinkfile (1);
12 дек 18, 17:27    [21761901]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8690
Там может идти хронический drop create, например. Если уж автор пишет, что не кучи.
12 дек 18, 18:23    [21761981]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
Владислав Колосов
Там может идти хронический drop create, например. Если уж автор пишет, что не кучи.

как можно, используя drop create, не давать высвободить 58Гб?
12 дек 18, 18:32    [21761991]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8690
Yasha123,

создали тысячу таблиц, 999 дропнули, последняя не дает усечь файл.
12 дек 18, 18:39    [21761999]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
Владислав Колосов,
почему не дает-то?
12 дек 18, 18:47    [21762005]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8690
Yasha123,

потому что в конце файла находится. Чтобы отсечь хвост таблицу надо переместить. Выполнить реогранизацию.
12 дек 18, 18:56    [21762011]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
Владислав Колосов
Yasha123,

потому что в конце файла находится. Чтобы отсечь хвост таблицу надо переместить. Выполнить реогранизацию.

так шринк же этим и занимается. перемещает из конца файла в начало. какая ему разница, там ваша 1000ая таблица или страницы самой первой таблицы, которые рассплитились и попали в конец файла?
12 дек 18, 19:14    [21762021]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
msLex
Member

Откуда:
Сообщений: 9015
Yasha123
Владислав Колосов
Yasha123,

потому что в конце файла находится. Чтобы отсечь хвост таблицу надо переместить. Выполнить реогранизацию.

так шринк же этим и занимается. перемещает из конца файла в начало. какая ему разница, там ваша 1000ая таблица или страницы самой первой таблицы, которые рассплитились и попали в конец файла?


вообще, у shrink-а есть два режима (забудем про emptyfile): один - как описали вы, второй - как Владислав Колосов


На первой картинке (без галочки) как раз вариант с truncate only.
Пытался ли TC выполнить вот это
Yasha123
dbcc shrinkfile (1);

вопрос
12 дек 18, 19:19    [21762027]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
msLex,
он обещал вечером выставить галочку.
но может, конечно, у некоторых "еще не вечер" :)
12 дек 18, 19:28    [21762040]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1932
Yasha123
uaggster
Эээ... к реорганизации индексов бонусом идет пересчет статистики по этому индексу. Поэтому пересчитывать статистику после реорганизации/перестроения - не нужно.
...
Как то так.

как-то совсем не так.
при реорге никакая статистика не обновляется,
при ребилде да, по ключевым полям будет обновлена с аналогом fullscan.
обычная же колоночная статистика по неключевым полям не пересобирается ни при реорге, ни при ребилде,
ее надо пересчитывать самим и после ребилда тоже,
не говоря уж о реорге


Мне другое интересно - ведь реорг и ребилд не меняют число строк, а только, грубо говоря, меняют местами страницы индекса. То есть распределение значений не поменялось? Или статистика индексов - это нечто большее?
12 дек 18, 22:35    [21762208]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
msLex
Member

Откуда:
Сообщений: 9015
DaniilSeryi
Yasha123
пропущено...

как-то совсем не так.
при реорге никакая статистика не обновляется,
при ребилде да, по ключевым полям будет обновлена с аналогом fullscan.
обычная же колоночная статистика по неключевым полям не пересобирается ни при реорге, ни при ребилде,
ее надо пересчитывать самим и после ребилда тоже,
не говоря уж о реорге


Мне другое интересно - ведь реорг и ребилд не меняют число строк, а только, грубо говоря, меняют местами страницы индекса. То есть распределение значений не поменялось? Или статистика индексов - это нечто большее?

Она, статистика, может быть
1. устаревшей
2. Построена на семпле
12 дек 18, 22:49    [21762219]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, пробовал и галку ставить и скриптом. не усекается.

К сообщению приложен файл. Размер - 5Kb
12 дек 18, 22:52    [21762220]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1932
msLex
DaniilSeryi
пропущено...


Мне другое интересно - ведь реорг и ребилд не меняют число строк, а только, грубо говоря, меняют местами страницы индекса. То есть распределение значений не поменялось? Или статистика индексов - это нечто большее?

Она, статистика, может быть
1. устаревшей
2. Построена на семпле


Да, но в случае с устаревшей статистикой её надо обновлять вне зависимости от реорганизации / ребилда? Если да, почему такая жесткая взаимосвязь - реорганизовал - обнови?
12 дек 18, 22:57    [21762224]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Пробовал и галку ставить и скриптом. Не усекается.

К сообщению приложен файл. Размер - 5Kb
13 дек 18, 09:28    [21762430]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
поздравимся с битой базой.
dbcc dbinfo with tableresults

и какая там дата для dbi_dbccLastKnownGood?
13 дек 18, 10:11    [21762499]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, вот:

К сообщению приложен файл. Размер - 50Kb
13 дек 18, 10:51    [21762554]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8690
Yasha123,

разве за перемещение не отвечает та галочка "реорганизовать"? Я был уверен, что если не ставить галку реорганизации, то ничего перемещено не будет, а шринк лишь отбросит пустой хвост.
13 дек 18, 11:02    [21762586]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
Владислав Колосов
Yasha123,

разве за перемещение не отвечает та галочка "реорганизовать"? Я был уверен, что если не ставить галку реорганизации, то ничего перемещено не будет, а шринк лишь отбросит пустой хвост.

фух. отвечает. и уже об этом сказал StarikNavy во втором же посте и еще раз msLex.
и ТС обещал ее выставить к вечеру, так что у меня было впечатление,
что это уже сделано, но результат был неявное молчание студии и сжирание ошибки.
ну и далее мы ждали выполнение того же самого кодом
13 дек 18, 11:05    [21762594]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
gepard1980,
ну так видите же база говорит, ей ни разу не делали чекдб.
так что вы даже примерно не знаете, когда примерно она навернулась
и есть ли бэкап на ту дату.

теперь запускайте чекдб, надеясь, что хоть не от системной таблицы страница полетела
13 дек 18, 11:08    [21762599]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, как лучше запустить чек? Так пойдет:

ALTER DATABASE "WebLeader" SET SINGLE_USER WITH ROLLBACK IMMEDIATE

GO

DBCC CHECKDB ('WebLeader', REPAIR_ALLOW_DATA_LOSS)

GO

ALTER DATABASE "WebLeader" SET MULTI_USER

GO
13 дек 18, 11:16    [21762613]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
сперва вообще просто запустите, может оно еще и не запустится.
а когда отработает, само пишет, как его в след. раз запустить, чтобы исправить

dbcc checkdb ('WebLeader') with no_infomsgs, all_errormsgs
13 дек 18, 11:50    [21762688]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, поднял бэкап этой базы на резервном сервере. запустил чекдб. прошло 2 часа. пока выполняется.
13 дек 18, 14:04    [21762953]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
gepard1980,
проверять бэкап это хорошо.
только если именно диск поврежден под вашей базой, на ресторнутой это никак не отразится
13 дек 18, 14:16    [21762971]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, диск не поврежден. я на той неделе ее забэкапил и на другой диск восстановил. она теперь с нового диска работает.
13 дек 18, 14:17    [21762973]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, уже 5 часов крутится 'Executing query'. Сколько по опыту будет работать, если размер базы 75Гб? И как на боевой базе делать? Ведь перфоманс просядет.
13 дек 18, 17:14    [21763257]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
зависит от наличия блобов, чем их больше, тем дольше.
тем не менее, за 5 часов терабайтную базу средней гадости можно проверить, когда все хорошо.
вот когда все плохо, тогда алгоритм проверки меняется,
начинает проверять детально.
ждите, короче
----
на боевой по воскресеньям проверяют.
но вам, похоже, хватит проверки копии.
судя по времени выполнения
13 дек 18, 17:27    [21763278]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
вот по поводу длительности:
How long will CHECKDB take to run?

там туча факторов приведена,
но дольше работает именно в случае ошибок
(правда, вам не с чем сравнить.
надо сравнивать с предыдущим временем выполнения на этой же базе)
Randal
If there are any corruptions present, there may be extra checks triggered to try to figure out more details of the corruptions
13 дек 18, 17:50    [21763300]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
msLex
Member

Откуда:
Сообщений: 9015
DaniilSeryi
msLex
пропущено...

Она, статистика, может быть
1. устаревшей
2. Построена на семпле


Да, но в случае с устаревшей статистикой её надо обновлять вне зависимости от реорганизации / ребилда? Если да, почему такая жесткая взаимосвязь - реорганизовал - обнови?


Обычно, самая тяжелая операция при обновлении статистики - это вычитка требуемых данных.
При ребилде все данные и так будут прочитаны, т.е. практически за бесплатно можно не просто обновить статистику, а обновить ее с фулсканом (максимально точно). Так почему бы этого не сделать?
13 дек 18, 17:54    [21763310]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, после 10 часов я запрос остановил. Видимо надо искать другой путь какой-то.
13 дек 18, 22:28    [21763500]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
gepard1980,
ну и неправильно
14 дек 18, 08:18    [21763626]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, на выходные опять запущу. надеюсь результат хоть какой-то выдаст.
14 дек 18, 09:49    [21763681]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
да уж конечно выдаст, раз так долго думает.
хорошо, что чекдб вообще не отказалось работать,
значит, системное добро не задето.

на будущее проверяйте раз в неделю,
всегда будете знать, в каком бэкапе еще не битая база.
в вашем нынешнем бэкапе уже битая
14 дек 18, 10:09    [21763703]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Yasha123, сегодня запустил на боевом. Завершился за 3 часа. Вот результат:

Msg 8909, Level 16, State 1, Line 2
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), page ID (1:9380353) contains an incorrect page ID in its page header. The PageId in the page header = (0:0).
Msg 8909, Level 16, State 1, Line 2
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), page ID (1:9380354) contains an incorrect page ID in its page header. The PageId in the page header = (0:0).
Msg 8909, Level 16, State 1, Line 2
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), page ID (1:9451372) contains an incorrect page ID in its page header. The PageId in the page header = (0:0).
CHECKDB found 0 allocation errors and 3 consistency errors not associated with any single object.
Msg 8928, Level 16, State 2, Line 2
Object ID 367395005, index ID 1, partition ID 72058363036303360, alloc unit ID 72058364643835904 (type In-row data): Page (1:9451372) could not be processed. See other errors for details.
Msg 8980, Level 16, State 1, Line 2
Table error: Object ID 367395005, index ID 1, partition ID 72058363036303360, alloc unit ID 72058364643835904 (type In-row data). Index node page (0:0), slot 0 refers to child page (1:9451372) and previous child (0:0), but they were not encountered.
CHECKDB found 0 allocation errors and 2 consistency errors in table 'sys.ifts_comp_fragment_1166627199_1279643' (object ID 367395005).
Msg 8928, Level 16, State 2, Line 2
Object ID 624671800, index ID 1, partition ID 72058362590003200, alloc unit ID 72058364196487168 (type In-row data): Page (1:9380354) could not be processed. See other errors for details.
Msg 8980, Level 16, State 1, Line 2
Table error: Object ID 624671800, index ID 1, partition ID 72058362590003200, alloc unit ID 72058364196487168 (type In-row data). Index node page (0:0), slot 0 refers to child page (1:9380354) and previous child (0:0), but they were not encountered.
CHECKDB found 0 allocation errors and 2 consistency errors in table 'sys.ifts_comp_fragment_1166627199_1279308' (object ID 624671800).
Msg 8928, Level 16, State 2, Line 2
Object ID 640671857, index ID 1, partition ID 72058362590068736, alloc unit ID 72058364196552704 (type In-row data): Page (1:9380353) could not be processed. See other errors for details.
Msg 8980, Level 16, State 1, Line 2
Table error: Object ID 640671857, index ID 1, partition ID 72058362590068736, alloc unit ID 72058364196552704 (type In-row data). Index node page (0:0), slot 0 refers to child page (1:9380353) and previous child (0:0), but they were not encountered.
CHECKDB found 0 allocation errors and 2 consistency errors in table 'sys.ifts_comp_fragment_4649743_10289803' (object ID 640671857).
Msg 2533, Level 16, State 1, Line 2
Table error: page (1:22851) allocated to object ID 1627561255, index ID 1, partition ID 72058340014751744, alloc unit ID 72058341621170176 (type In-row data) was not seen. The page may be invalid or may have an incorrect alloc unit ID in its header.
Msg 8980, Level 16, State 1, Line 2
Table error: Object ID 1627561255, index ID 1, partition ID 72058340014751744, alloc unit ID 72058341621170176 (type In-row data). Index node page (0:0), slot 0 refers to child page (1:22851) and previous child (0:0), but they were not encountered.
CHECKDB found 0 allocation errors and 2 consistency errors in table 'sys.ifts_comp_fragment_4649743_9953028' (object ID 1627561255).
Msg 2533, Level 16, State 1, Line 2
Table error: page (1:22848) allocated to object ID 1643561312, index ID 1, partition ID 72058340014817280, alloc unit ID 72058341621235712 (type In-row data) was not seen. The page may be invalid or may have an incorrect alloc unit ID in its header.
Msg 8980, Level 16, State 1, Line 2
Table error: Object ID 1643561312, index ID 1, partition ID 72058340014817280, alloc unit ID 72058341621235712 (type In-row data). Index node page (0:0), slot 0 refers to child page (1:22848) and previous child (0:0), but they were not encountered.
CHECKDB found 0 allocation errors and 2 consistency errors in table 'sys.ifts_comp_fragment_4649743_9953029' (object ID 1643561312).
CHECKDB found 0 allocation errors and 13 consistency errors in database 'WebLeader'.
repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB (WebLeader).
15 дек 18, 00:17    [21764572]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
Balbidon
Member

Откуда: Donetsk->Emerald City
Сообщений: 358
Похоже, вам повезло, и ошибки вылезли в таблицах полнотекстового индекса. А индексы достаточно часто можно безболезненно перестроить.

Интересно, в этом случае сможет помочь просто полное заполнение (POPULATE) полнотекстовых индексов, таблицы фрагментов для которых пострадали?
Или нужно будет выполнять перестройку (REBUILD) всего полнотекстового каталога?
Или даже этого будет недостаточно, и придется все-таки выполнять DBCC CHECKDB (WebLeader, REPAIR_ALLOW_DATA_LOSS). А после этого хватит ли заполнения индекса, или придется перестраивать каталог?


Если нетрудно, отпишитесь, пожалуйста, по результатам.
15 дек 18, 01:40    [21764607]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Balbidon, вообще по субботам у этой базы всегда полный ребилд индексов джобом делается. Ошибок не выдает после ребилда. Смотрел логи. И полнотекстовых индексов вообще нету ни в одной базе. Есть только по текстовым полям некластерные индексы.
15 дек 18, 15:20    [21764827]     Ответить | Цитировать Сообщить модератору
 Re: Много пустого места в базе  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 245
Все разрешилось успешно. Переместил базу на ssd-диск. За 20 минут проверил dbcc checkdb, она выдала кучу ошибок. Потом запустил с параметром REPAIR_ALLOW_DATA_LOSS. Где-то час работал. Потом через SSMS сделал ужимание базы. Теперь вместо 75 Гб база 16 Гб. Всех кто помогал - благодарю!
15 дек 18, 22:37    [21765021]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Microsoft SQL Server Ответить