| 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
 Аварийное восстановление завершилось неудачно. Требуется восстановление из резервной копии.
 |  |