У меня есть SQL Server 2008 R2, и мне нужно восстановить мою базу данных на другой сервер, но файл backup.ldf
был поврежден, поэтому можно восстановить мою базу данных, используя только .mdf
файл один? Или есть ли какие-либо возможности для создания файла .ldf
вручную?Восстановление базы данных SQL Server с использованием только файла MDF без LDF
ответ
Вы можете попробовать attaching
MDF, щелкнув правой кнопкой мыши по базам данных в SSMS и удалив ссылку на расположение файла журнала в этом диалоговом окне, и будет создан новый, если MDF не поврежден.
Я уже пробовал удалить файл ldf, но сбой активации файла. Физическое имя файла «C: \ Program Files \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ DCFHO_log.ldf» может быть неверным. Невозможно перестроить журнал, поскольку открывались транзакции/пользователи при остановке базы данных, в базу данных не было отмечено контрольной точки, или база данных была доступна только для чтения. Эта ошибка может возникнуть, если файл журнала транзакций был удален или потерян вручную из-за сбоя оборудования или среды. Msg 1813, уровень 16, состояние 2, строка 1 Не удалось открыть новую базу данных 'TestDb'. CREATE DATABASE прервана. – ibu
его можно воссоздать ldf-файл – ibu
Хороший вопрос. Я хотел бы знать ответ сам! Почему бы не попробовать? Скопируйте '.mdf' в каталог данных вашего сервера MSSQL и подключите его в SSMS. Насколько я понимаю, файл '.ldf' содержит информацию об открытых транзакциях. Таким образом, эта информация будет недоступна при настройке новой базы данных. - Хорошо, я думаю, что решение @Alex K. предпочтительнее! ;-) – cars10m
YMMV sp_attach_single_file_db –
я попытался USE [мастер] GO - Метод 1: Я использую этот метод EXEC sp_attach_single_file_db @ имя_бд = 'TestDB', @ physname = N'C: \ Program Files \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ TestDb.mdf ' GO – ibu