Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
ev-kov Member Откуда: Сообщений: 193 |
Можно ли выполнить dbcc checkdb без использования блокировок, т.к. бд использует в ПО и останавливать это ПО для проведения проверки очень нежелательно, но проверить нужно. Как выполнить проверку бд в таком случае ? |
7 май 18, 06:34 [21391933] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1232 |
1. Делаешь бякап. 2.Восстанавливаешь бякап в левую базу. 3. Проверяешь. |
7 май 18, 07:44 [21391954] Ответить | Цитировать Сообщить модератору |
aleksrov Member Откуда: Сообщений: 948 |
ev-kov, При чекдб делается снапшот, блокировок нет. Есть доп. нагрузка на систему, поэтому лучше делать когда нагрузка минимальна. |
7 май 18, 08:29 [21391982] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31778 |
|
||
7 май 18, 12:48 [21392782] Ответить | Цитировать Сообщить модератору |
aleksrov Member Откуда: Сообщений: 948 |
alexeyvg, Это конечно полезно. Но ТС спрашивал про блокировки, а ответ aleks222 подразумевает типа "да, блокировки есть, чтобы не останавливать работу делай так", что разумеется неверно. Чек можно и нужно делать на рабочей БД, также как нужно проверять резервные копии. |
7 май 18, 12:52 [21392815] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1232 |
1. Ээээ... существуют обстоятельства, когда снапшот не могет сделаться. Я видел этот ужос. 2. В момент изготовления снапшота, может блокировок и нету, хотя как без них? Но для ПО это будет тяжким ударом. 3. Бякап, в этом смысле, гуменнее. Да и его, все равно, делают. |
||
7 май 18, 13:55 [21393104] Ответить | Цитировать Сообщить модератору |
ev-kov Member Откуда: Сообщений: 193 |
Например выполняю только dbcc checkdb (namedb), блокировки в таком варианте отсутствуют (tablock не указан). Будет попытка создать снапшот, бд большая и в неё круглосуточно пишет ПО и оно может начать вылетать по таймауту, так ? Создание бекапа такой бд приведет также к вылетам ПО по таймауту. ПО многомашинное, есть возможность вывести ПО на этом сервере из работы и провести необходимые проверки не мешая работе ПО. |
||||
8 май 18, 10:00 [21394865] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9632 |
|
||||
8 май 18, 10:23 [21394921] Ответить | Цитировать Сообщить модератору |
Eleanor Member Откуда: Сообщений: 3194 |
Т.е. вы вообще не делаете бэкапы БД? Зачем тогда делать checkdb? Checkdb может показать такие ошибки в БД, что восстановиться можно будет только из бэкапа. |
||
8 май 18, 12:06 [21395445] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31778 |
Ваш ответ, конечно, совершенно правильный; если проверять бакап не нужно, а хочется сделать чекдб, то блокировок там не будет, однако нужно позаботится о достаточности ресурсов. Точности ради, блокировки при чекдб тоже есть, просто очень специфические. Например, предполагаю (проверять лень), что нельзя добавить к базе файл, или нельзя сделать файлгруппу рид-онли (что требует перевода в сингл), или, может быть, даже нельзя добавить секцию в таблицу.
А что бы бакап не мешал пользователям, его производят в период наименьшей нагрузки, и делают на отдельный дисковый массив. |
||||
8 май 18, 14:07 [21395903] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |