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

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

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

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


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


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

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

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

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

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


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

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

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


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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Откуда: Ярославль
Сообщений: 240
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

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

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

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

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

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

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

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

Откуда:
Сообщений: 1833
вот по поводу длительности:
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

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

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


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


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

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

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

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

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

на будущее проверяйте раз в неделю,
всегда будете знать, в каком бэкапе еще не битая база.
в вашем нынешнем бэкапе уже битая
14 дек 18, 10:09    [21763703]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить