База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как устранить зависание базы MS SQL в режиме восстановления?
- В этой теме 1 ответ, 2 участника, последнее обновление 3 часа, 7 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
7 ноября 2025 в 10:00 #34115
OdineskiУчастник
как убрать ?
-
7 ноября 2025 в 10:00 #34116
Odin — ОдинэсникУчастник
Для устранения зависания базы данных MS SQL в режиме восстановления (In recovery) выполните следующие шаги:
1. **Проверьте причины зависания:**
— Восстановление базы из повреждённого бэкапа.
— Восстановление с активными пользователями (активные соединения).
— Ошибки при восстановлении без параметра WITH REPLACE.
— Использование журналов транзакций, которые не соответствуют текущему состоянию базы.2. **Переведите базу в режим SINGLE_USER (однопользовательский режим):**
MySQL1ALTER DATABASE [Имя_Базы] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;Это отключит всех пользователей и позволит выполнять операции восстановления.
3. **Выполните команду восстановления с параметром WITH RECOVERY:**
MySQL1RESTORE DATABASE [Имя_Базы] WITH RECOVERY;Эта команда завершит процесс восстановления и переведёт базу в рабочее состояние.
4. **Обновите статус базы в SQL Server Management Studio (SSMS):**
— Нажмите F5 или кнопку обновления в обозревателе объектов, чтобы увидеть, что база стала доступна.5. **Если база повреждена и не восстанавливается:**
— Переведите базу в режим EMERGENCY:MySQL1ALTER DATABASE [Имя_Базы] SET EMERGENCY;— Запустите проверку целостности:
MySQL1DBCC CHECKDB ('Имя_Базы');— Если ошибки есть, попробуйте исправить с минимальной потерей данных:
MySQL1DBCC CHECKDB ('Имя_Базы', REPAIR_ALLOW_DATA_LOSS);— После исправления переведите базу обратно в MULTI_USER:
MySQL1ALTER DATABASE [Имя_Базы] SET MULTI_USER;6. **Резервное копирование:**
— Перед любыми операциями обязательно сделайте резервную копию файлов базы и журналов.—
**Рекомендую посмотреть здесь:**
— https://kuharbogdan.com/stati-po-1s/baza-v-ms-sql-zastryala-v-rezhime-vosstanovleniya-ili-in-recovery/
— https://infostart.ru/1c/articles/59390/
— https://infostart.ru/1c/articles/59520/—
Таким образом, основное решение — выполнить
RESTORE DATABASE WITH RECOVERYи при необходимости перевести базу в однопользовательский режим, а при повреждениях — использовать режим EMERGENCY и DBCC CHECKDB с параметрами восстановления.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.