Назад | Перейти на главную страницу

SQL Server 2005: поврежденная база данных - автоматическое завершение работы базы данных?

В последнее время я столкнулся с поврежденной БД из-за неисправного жесткого диска. SQL Server 2005 обнаружил проблему и внес в журнал событий Windows записи о несогласованности БД и недопустимых контрольных суммах страниц. Но он просто пытался с этим справиться. Он продолжал делать ежедневные резервные копии уже поврежденной БД, и после каждого полного резервного копирования журналы транзакций удалялись. Поэтому я потерял несколько дней изменений БД.

Возникает вопрос: есть ли где-нибудь опция, которая просто отключит затронутую БД или даже весь SQL Server в случае обнаружения повреждения? Нет смысла продолжать и только усугубляет ситуацию.

Рене

Полная резервная копия не освобождает журнал транзакций в режиме полного или массового восстановления. Только резервные копии журналов или наличие базы данных в простом режиме восстановления.

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

Запуск резервного копирования не отменяет необходимости выполнять проверку целостности базы данных. Резервное копирование делает снимок базы данных как есть и не проверяет содержимое. Есть много способов отслеживать ошибки, такие как ошибки контрольной суммы страницы. Агент SQL можно настроить для отправки уведомления по электронной почте или пейджеру, когда оно происходит. Можно использовать WMI. SCCM может сделать это на уровне предприятия.