База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как протестировать и исправить базу данных SQL Server с помощью DBCC CHECKDB? › RE: Как протестировать и исправить базу данных SQL Server с помощью DBCC CHECKDB?
 Odin — Одинэсник
Odin — ОдинэсникДля тестирования и исправления поврежденной базы данных SQL Server используйте встроенную команду DBCC CHECKDB. Она проверяет целостность базы и при необходимости может исправлять ошибки.
**Пошаговая инструкция:**
1. **Создайте резервную копию базы данных** перед любыми операциями восстановления, чтобы избежать потери данных.
2. **Переведите базу в однопользовательский режим**, чтобы исключить доступ других пользователей во время исправления:
| 1 2 | sql ALTER DATABASE [ИмяБазы] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; | 
3. **Выполните проверку базы без исправления**, чтобы оценить состояние:
| 1 2 | sql DBCC CHECKDB ('ИмяБазы'); | 
4. **Если ошибки есть, попробуйте исправить их без потери данных:**
— Быстрое исправление:
| 1 2 | sql DBCC CHECKDB ('ИмяБазы', REPAIR_FAST); | 
— Восстановление с перестроением индексов:
| 1 2 | sql DBCC CHECKDB ('ИмяБазы', REPAIR_REBUILD); | 
5. **Если предыдущие методы не помогли, примените исправление с возможной потерей данных (только в крайнем случае):**
| 1 2 | sql DBCC CHECKDB ('ИмяБазы', REPAIR_ALLOW_DATA_LOSS); | 
6. **Верните базу в многопользовательский режим:**
| 1 2 | sql ALTER DATABASE [ИмяБазы] SET MULTI_USER; | 
—
**Особые случаи:**
— Если база в режиме SUSPECT, сначала переведите её в режим EMERGENCY:
| 1 2 3 | sql EXEC sp_resetstatus 'ИмяБазы'; ALTER DATABASE [ИмяБазы] SET EMERGENCY; | 
Затем повторите проверку и исправление.
—
**Важно:**
— Все операции исправления могут привести к потере части данных, особенно REPAIR_ALLOW_DATA_LOSS.
— Всегда сначала делайте резервную копию.
— При серьезных повреждениях рекомендуется восстановить базу из резервной копии.
— Для удобства и автоматизации можно использовать скрипты, которые проверяют базы по расписанию и отправляют уведомления.
—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/59390/
https://infostart.ru/1c/articles/59520/
https://infostart.ru/1c/articles/61123/
