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

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

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

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


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


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

В ДТ не выгрузиться.
11. vovan_victory 63 08.12.16 10:18 Сейчас в теме
(9)
В ДТ не выгрузиться.

Почему? Из-за размера? Мне кажется, выгрузиться и загрузить в файловую в любом случае... может не запуститься, да это и не нужно. Идея выгрузки в ДТ - это для сжатия таблиц. Так, как эта операция в серверном варианте не прокатывает.
13. dmt 66 08.12.16 10:22 Сейчас в теме
(11)
Почему? Из-за размера?
Да.
10. drim87 08.12.16 10:14 Сейчас в теме
Регламентные операции для базы выполняете и какие?
Сделайте шринк лога транзакций
и рекомендованные регламентные операции с сайта итс
https://its.1c.ru/db/content/metod8dev/src/developers/scalability/instructi­ons/i8105837.htm
этот раздел открытый так что точно сможете туда попасть.
12. dmt 66 08.12.16 10:20 Сейчас в теме
(10) Ежедневный регламент
Задача "Резервное копирование базы данных"
Задача "Проверка целостности базы данных"
Задача "Реорганизация индекса"
Задача "Обновление статистики"
Чистка кэша
Задача "Резервное копирование базы данных"
Задача "Очистка после обслуживания"

В еженедельном регламенте
Задача "Реорганизация индекса" заменена на "Перестроение индекса"
18. denis_aka_wolf 79 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
23. dmt 66 08.12.16 12:34 Сейчас в теме
(18) Спасибо.

В полученной табличке 318 записей. Это как я понимаю не плохо?
25. denis_aka_wolf 79 08.12.16 12:40 Сейчас в теме
(23) очень даже не плохо, утром еще проверьте
14. vovan_victory 63 08.12.16 10:23 Сейчас в теме
15. dmt 66 08.12.16 11:03 Сейчас в теме
16. vovan_victory 63 08.12.16 11:16 Сейчас в теме +1 $m
(15)Нашли что -нибудь полезного для себя?
17. dmt 66 08.12.16 11:18 Сейчас в теме
(16) Да всё полезно. Только знакомо уже и идей новых не возникло.
19. denis_aka_wolf 79 08.12.16 11:53 Сейчас в теме
И после полного бэкапа сделай DBCC SHRINKFILE (N'state_2016_log' , 0, TRUNCATEONLY)
если лог все равно огромный
DBCC SHRINKFILE (N'state_2016_log' , 0)

и обязательно измени Autogrownth/Maxsize БД на цифру в 1024МБ если БД маленькая, либо % от размера файла
Эти параметры отвечают за увеличения размера БД, если достигнут лимит свободных данных в файле
24. dmt 66 08.12.16 12:37 Сейчас в теме
(19) Autogrownth/Maxsize выставлена в 2000МБ. База 300Гб.
27. denis_aka_wolf 79 08.12.16 12:43 Сейчас в теме
(24) прирост в неделю больше 2Гб? если больше ставьте процентом либо недельный прирост
20. denis_aka_wolf 79 08.12.16 12:11 Сейчас в теме
И потом еще запустити в конфигураторе тестирование и исправление:
Реструктуризация таблиц

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

И загляни в логи SQL сервера - может там алярмы постоянно летят
21. Fox-trot 156 08.12.16 12:13 Сейчас в теме
а проблемы на стороне mssql? точно? как определил?
26. dmt 66 08.12.16 12:40 Сейчас в теме
(21) А как определить? Железяки вроде не болеют. Настройки винды не менялись.

Кстати да.
Народ, проблема-то не в том, что что-то плохо работает,
а в том что до какого-то момент все работало хорошо, а потом поплохело.
29. Fox-trot 156 08.12.16 21:40 Сейчас в теме +1 $m
(26) какой-нибудь софт/апдейт устанавливался?
еще как вариант почитать логи. для начала того же mssql на предмет изменения конфигурации
22. denis_aka_wolf 79 08.12.16 12:18 Сейчас в теме
И еще как вариант - Server Properties-Memory - минимум памяти 0 - максимум 80% от возможной памяти в МБ
28. denis_aka_wolf 79 08.12.16 12:47 Сейчас в теме
DBCC CHECKDB(N'Твоя база', NOINDEX)
так проверить
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)