1 декабря 2019 г.

Восстановление базы MsSQL

После того как закончилось место на диске, сломалась одна база MsSQL.
Были несоответствия логов и записей в самой базе.
Не удалось повторить запись журнала (313:38568:2) для идентификатора транзакции (0:2036738), на странице (1:9), единица распределения 6488064, база данных "myDBName" (идентификатор базы данных 9). Страница: номер LSN = (313:38456:2), единица распределения = 6488064, тип = 13. Журнал: OpCode = 4, контекст 20, PrevPageLSN: (313:38528:1). Восстановите базу данных из резервной копии или исправьте ее.
При повторном выполнении запротоколированной операции в базе данных "
myDBName" произошла ошибка в записи журнала с идентификатором (313:38568:2). Как правило, конкретный сбой предварительно протоколируется как ошибка в журнале ошибок операционной системы. Восстановите базу данных из полной резервной копии или исправьте базу данных.
Невозможно открыть новую базу данных "
myDBName". Операция CREATE DATABASE прервана. (Microsoft SQL Server, ошибка: 3456)
Эти сообщения выдавались при попытке присоединить БД к ядру.

На просторах интернета нашел инструкцию, которая мне очень помогла.
Вот она.

Use master
go
sp_configure 'allow updates', 1
go

---Выполнить---

reconfigure with override

---Выполнить---

select status from sysdatabases where name = 'myDBName'

---Выполнить---

EXEC sp_resetstatus 'myDBName';
ALTER DATABASE myDBName SET EMERGENCY

---Выполнить---

alter database myDBName set EMERGENCY, SINGLE_USER

---Выполнить---

dbcc checkdb ('myDBName', REPAIR_ALLOW_DATA_LOSS)

---Выполнить---

alter database myDBName set ONLINE, MULTI_USER

---Выполнить---

Use master
go
sp_configure 'allow updates', 0
go

---Выполнить---
reconfigure with override

Комментариев нет:

Отправить комментарий