Как уже указывалось, файл .LDF имеет решающее значение для БД, и без него БД не будет доступна..LDF может быть удален, только если БД находится в автономном режиме или отключена, или служба SQL остановлена.
Если предположить, что один из приведенных выше 3 сценариев был верным, и вы удалили файл .LDF, то БД будетбудьте подозрительны, когда сервер SQL будет перезапущен.Если база данных была отключена и вы пытаетесь вернуть ее в оперативный режим, она выдаст ошибку:
File activation failure. The physical file name "<<filename.ldf>>" may be incorrect.
Msg 945, Level 14, State 2, Line 1
Database '<<DB Name>>' cannot be opened due to inaccessible files or insufficient
memory or disk space. See the SQL Server errorlog for details.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
Исправить эту ошибку довольно просто, но вам нужно будет удалить все метаданные, относящиеся кБД из системных файлов.Самый простой способ сделать это - сбросить БД.Вот что вам нужно сделать.
- Перевести БД в автономный режим или отсоединить БД
- Сделайте копию файла .MDF в каталог резервного копирования
- Теперь удалите базу данных (вам, конечно, придется заново присоединять базу данных, если вы отсоединились)
- Скопируйте .MDF обратно в исходное местоположение
После этих шагов запуститеследующее:
SP_ATTACH_SINGLE_FILE_DB @dbname='<<DBName>>'
,@physname=N'<<filepath\filename.MDF>>'
Это должно вернуть вам следующее:
File activation failure. The physical file name "<<Filepath\filename.ldf>>"
may be incorrect.
New log file '<<Filepath\filename.ldf>>' was created.
Это вернет вашу БД в рабочее состояние.
Вопрос за миллион долларов все еще остается - зачем кому-то удалять файл .LDF ???
Raj