0
gp42
22.03.15
✎
19:23
|
Упал сервак и удалось спасти только mdf файл.
Наткнулся на статью ()
Приводится последовательность действий с помощью которой можно вернуть работоспособность базы данных MS SQL сервера, в случае отсутствия журнала транзакций.
Данная последовательность проверялась на Microsoft SQL Server 2005 и 2008.
Останавливаем сервер БД. Сделать это можно из панели управления службами.
Переименовываем файл данных db_name.mdf в db_name.mdf_old
Запускаем сервер БД, из Managment Studio удаляем базу данных
Cоздаем базу данных с таким же именем, как была, в том же месте, где и была.
Останавливаем сервер БД. Подменяем файл новой базы нашим переименованным файлом. Переименовываем его обратно.
Стартуем сервер.
Выполняем:
go
sp_configure 'allow updates', 1
reconfigure with override
go
Выполняем:
alt er database db_name set EMERGENCY, SINGLE_USER
Выполняем:
dbcc checkdb('db_name', REPAIR_ALLOW_DATA_LOSS )
Если база большая, то выполнение этой команды может занять несколько минут.
Эта команда выдаст много сообщений, можете не вникать.
Перезапускаем SQL сервер
Выполняем:
alt er database db_name set ONLINE, MULTI_USER
Выполняем:
Use master
go
sp_configure 'allow updates', 0
go
Перезапускаем SQL сервер (на всякий случай, хотя и не обязательно)
После выполнения этих, не очень сложных, манипуляций ваша база данных должна заработать
Не помогло на пункте
dbcc checkdb('db_name', REPAIR_ALLOW_DATA_LOSS )
пишет что не смог создать Лог файл
В системных файлах sysfiles1 не обнаружено записей исходного файла журнала. Не удалось перестроить журнал.
Сообщение 5028, уровень 16, состояние 2, строка 1
Системе не удалось активировать базу данных в достаточной мере для перестроения журнала.
Результаты DBCC для "db_name".
CHECKDB обнаружил 0 ошибок размещения и 0 ошибок согласованности в базе данных "db_name".
Сообщение 7909, уровень 20, состояние 1, строка 1
Аварийное восстановление завершилось неудачно. Требуется восстановление из резервной копии.
|
|