Войти в IT
Способы восстановления базы данных, если она перешла в режим Подозрительный (suspected).
Вариант 1
Проверено на MS SQL Express 2016. Запускаем SQL Server Management Studio (SSMS). Жмем правой кнопкой мыши на базе с пометкой “Подозрительный”, выбираем Создать запрос (New Query ) и поочередно вставляем команды
Сначала необходимо перевести базу данных в АВАРИЙНЫЙ режим, выполнив следующие действия:
EXEC sp_resetstatus ‘Название базы’;
ALTER DATABASE Название базы SET EMERGENCY
Затем требуется протестировать базу данных:
DBCC checkdb (‘Название базы’)
ALTER DATABASE Название базы SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB (‘Название базы’, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE Название базы SET MULTI_USER
Вариант 2 (Лично не пробовал).
Если не получилось восстановить базу первым способом
У вас имеется поврежденная база данных сервера (MS SQL 2005) и она неисправна. Такую базу невозможно восстановить путем тестирования-исправления (возникает ошибка контрольной суммы). В таком случае база данных не выгружается в файл – выдается та же ошибка. Вы попробовали несколько раз, и это не помогло. Попробуйте восстановить базу данных, протестировав сам SQL.
Команды для тестирования SQL приведены ниже:
DBCC CHECKDB (‘database’, REPAIR_FAST)
DBCC CHECKDB (‘database’, REPAIR_REBUILD)
Если обе команды не работают, можно использовать третью. Рекомендуем использовать данную команду только в крайнем случае в связи с опасностью возможной потери данных.
DBCC CHECKDB (‘database’, REPAIR_ALLOW_DATA_LOSS)
Если команда не выполняется из-за не однопользовательского режима, используйте команду:
Alter database db-name set SINGLE_USER