MS SQL. Значительно увеличилось время на операцию "Проверка целостности базы данных". Куда копать?

1. Галахад (dmt) 24 08.12.16 08:27 Сейчас в теме
До какого-то момента эта операция занимала полчаса, теперь полтора часа.
Куда смотреть? Что проверять?
Вознаграждение за ответ
Показать полностью
Ответы
2. vovan_victory vovan_victory (vovan_victory) 52 08.12.16 09:23 Сейчас в теме
(1)Вот тут посмотрите

вот тут
и еще вот это

есть подозрение, что на диски, где располагаются базы sql мало места. Замечал такую особенность, ели на диске меньше 30% свободного места,то система просто начинает тупить.
3. Галахад (dmt) 24 08.12.16 09:29 Сейчас в теме
(2) Гм. Это намек на то, что вообще не стоит проводить проверку целостности?
4. vovan_victory vovan_victory (vovan_victory) 52 08.12.16 09:41 Сейчас в теме
(3)Нее... это намек на что можно(или нужно) обратить внимание при поиске проблемного места ИМХО
5. Галахад (dmt) 24 08.12.16 09:50 Сейчас в теме
(2)
есть подозрение, что на диски, где располагаются базы sql мало места. Замечал такую особенность, ели на диске меньше 30% свободного места,то система просто начинает тупить.


Посмотрел свободное место. Еще 0,5 Тб. есть.
6. vovan_victory vovan_victory (vovan_victory) 52 08.12.16 09:53 Сейчас в теме
(5)а общий объем какой?
И еще можно сделать тест поверхности диска.Может он сыпаться начинает.
7. Галахад (dmt) 24 08.12.16 09:54 Сейчас в теме
8. vovan_victory vovan_victory (vovan_victory) 52 08.12.16 10:00 Сейчас в теме
(7)а с тех пор когда Вы обратили внимание на увеличение времени, база сильно в размерах увеличилась?
Может есть смысл, выгрузить ее в ДТ, восстановить в файловую, опять выгрузить в ДТ и загрузить обратно?
9. Галахад (dmt) 24 08.12.16 10:11 Сейчас в теме
(8)
(7)а с тех пор когда Вы обратили внимание на увеличение времени, база сильно в размерах увеличилась?
Может есть смысл, выгрузить ее в ДТ, восстановить в файловую, опять выгрузить в ДТ и загрузить обратно?


Нет. База растет линейно.

В ДТ не выгрузиться.
10. drim87 - (drim87) 08.12.16 10:14 Сейчас в теме
Регламентные операции для базы выполняете и какие?
Сделайте шринк лога транзакций
и рекомендованные регламентные операции с сайта итс
https://its.1c.ru/db/content/metod8dev/src/developers/scalability/instructi­ons/i8105837.htm
этот раздел открытый так что точно сможете туда попасть.
11. vovan_victory vovan_victory (vovan_victory) 52 08.12.16 10:18 Сейчас в теме
(9)
В ДТ не выгрузиться.

Почему? Из-за размера? Мне кажется, выгрузиться и загрузить в файловую в любом случае... может не запуститься, да это и не нужно. Идея выгрузки в ДТ - это для сжатия таблиц. Так, как эта операция в серверном варианте не прокатывает.
12. Галахад (dmt) 24 08.12.16 10:20 Сейчас в теме
(10) Ежедневный регламент
Задача "Резервное копирование базы данных"
Задача "Проверка целостности базы данных"
Задача "Реорганизация индекса"
Задача "Обновление статистики"
Чистка кэша
Задача "Резервное копирование базы данных"
Задача "Очистка после обслуживания"

В еженедельном регламенте
Задача "Реорганизация индекса" заменена на "Перестроение индекса"
13. Галахад (dmt) 24 08.12.16 10:22 Сейчас в теме
(11)
Почему? Из-за размера?
Да.
14. vovan_victory vovan_victory (vovan_victory) 52 08.12.16 10:23 Сейчас в теме
15. Галахад (dmt) 24 08.12.16 11:03 Сейчас в теме
16. vovan_victory vovan_victory (vovan_victory) 52 08.12.16 11:16 Сейчас в теме +1 $m
(15)Нашли что -нибудь полезного для себя?
17. Галахад (dmt) 24 08.12.16 11:18 Сейчас в теме
(16) Да всё полезно. Только знакомо уже и идей новых не возникло.
18. Denis Michaylov (denis_aka_wolf) 41 08.12.16 11:46 Сейчас в теме +1 $m
(12)
Ежедневный регламент с 2 до 5 утра:
1) Проверка базы данных - если успешно 2
2) Перестройка индекса, после завершения 3
3) Обновление статистик (полное), после завершения 4
4) Очистка процедурного кэша, после завершения 5
5) Архивация полная в bak с сжатием в отдельное хранилище без перезаписи, если успешно 6
6) Архивация полная для логов с перезаписью без сжатия (один файл либо в одно устройство) после завершения 7,8,9
7) Удаление журнала истории за 4 недели
8) Удаление старых bak файлов за 12 месяцев (так у меня, для себя ставьте месяц - два)
9) Удаление журналов транзакций trn за 1 день

Каждые 15 минут с 07:00 по 21:00
1) Архивация лога транзакций в trn в отдельный каталог без сжатия (оттуда удаление в п.9 выше) если успешно 2
2) Архивация лога транзакций в отдельный файл либо в одно устройство добавлением без сжатия

В свойстах БД
General-Database- Status должно стоять Normal
Files - Autogrownth/Maxsize - по умолчанию для БД стоит 1MB - Unlimit - поставить 3% от размера фала, также с логом
Option-Collation: Cyrillic_General_CI_AS
Option-Recovery model: FULL
Option-Comptability lvl: максимальный из списка
Option-Auto Close - False
Option-Auto Creat Incremental Statistic - False
Option-Auto Creat Statistic - True
Option-Auto Shrink - True
Option-Auto Update Statistics -True
Option-Auto Update Statistics Asynchronouly - False

Запрос для сверки:
sel ect * FR OM sys.dm_db_index_physical_stats(DB_ID(),NULL,NULL,NULL,NULL)
Where avg_fragmentation_in_percent > 30

Должно быть малое количество записей для моей базы (БГУ ~750Гб) 7239 за день
на другом сервере с одной БД в 4 Гб с условием Where avg_fragmentation_in_percent > 0 437 за день все ниже 30
19. Denis Michaylov (denis_aka_wolf) 41 08.12.16 11:53 Сейчас в теме
И после полного бэкапа сделай DBCC SHRINKFILE (N'state_2016_log' , 0, TRUNCATEONLY)
если лог все равно огромный
DBCC SHRINKFILE (N'state_2016_log' , 0)

и обязательно измени Autogrownth/Maxsize БД на цифру в 1024МБ если БД маленькая, либо % от размера файла
Эти параметры отвечают за увеличения размера БД, если достигнут лимит свободных данных в файле
20. Denis Michaylov (denis_aka_wolf) 41 08.12.16 12:11 Сейчас в теме
И потом еще запустити в конфигураторе тестирование и исправление:
Реструктуризация таблиц

После Реструктуризации запусти проверку целостности:
DBCC CHECKDB(N'твоя база') WITH NO_INFOMSGS

И загляни в логи SQL сервера - может там алярмы постоянно летят
21. Канат Джумадылов (Fox-trot) 51 08.12.16 12:13 Сейчас в теме
а проблемы на стороне mssql? точно? как определил?
22. Denis Michaylov (denis_aka_wolf) 41 08.12.16 12:18 Сейчас в теме
И еще как вариант - Server Properties-Memory - минимум памяти 0 - максимум 80% от возможной памяти в МБ
23. Галахад (dmt) 24 08.12.16 12:34 Сейчас в теме
(18) Спасибо.

В полученной табличке 318 записей. Это как я понимаю не плохо?
24. Галахад (dmt) 24 08.12.16 12:37 Сейчас в теме
(19) Autogrownth/Maxsize выставлена в 2000МБ. База 300Гб.
25. Denis Michaylov (denis_aka_wolf) 41 08.12.16 12:40 Сейчас в теме
(23) очень даже не плохо, утром еще проверьте
26. Галахад (dmt) 24 08.12.16 12:40 Сейчас в теме
(21) А как определить? Железяки вроде не болеют. Настройки винды не менялись.

Кстати да.
Народ, проблема-то не в том, что что-то плохо работает,
а в том что до какого-то момент все работало хорошо, а потом поплохело.
27. Denis Michaylov (denis_aka_wolf) 41 08.12.16 12:43 Сейчас в теме
(24) прирост в неделю больше 2Гб? если больше ставьте процентом либо недельный прирост
28. Denis Michaylov (denis_aka_wolf) 41 08.12.16 12:47 Сейчас в теме
DBCC CHECKDB(N'Твоя база', NOINDEX)
так проверить
29. Канат Джумадылов (Fox-trot) 51 08.12.16 21:40 Сейчас в теме +1 $m
(26) какой-нибудь софт/апдейт устанавливался?
еще как вариант почитать логи. для начала того же mssql на предмет изменения конфигурации
Оставьте свое сообщение