Как подключить базу данных MSSQL 2000 только с файлом MDF
у меня есть старый сервер с несуществующей оценочной версией SQL 2000 на нем (с 2006 года) и две базы данных, которые сидели на нем.
по какой-то неизвестной причине файлы журнала LDF отсутствуют. Предположительно исключен.
у меня есть файлы mdf (и в одном случае файл ndf тоже) для баз данных, которые раньше существовали на этом сервере, и я пытаюсь получить их и запустить на другом поле SQL 2000, которое у меня есть.
sp_attach_db
жалуется, что logfile отсутствует и не будет присоединять базу данных. Попытки обмануть его с помощью файла журнала из базы данных с тем же именем потерпели неудачу. sp_attach_single_file_db
не будет работать. Файлы MDF явно не чисто отстраненно.
Как получить базы данных, прикрепленные и читаемые?
2 ответов
Я нашел этот ответ, который работал с моими машинами SQL 2000:
как присоединить базу данных с не-чисто отсоединенным файлом MDF.
Шаг 1: создайте новую базу данных с тем же именем, которая использует те же файлы, что и старая на новом сервере.
Шаг 2: остановите SQL server и переместите файлы mdf (и любые файлы ndf, которые у вас есть) поверх новых, которые вы только что создали. Удалить любой журнал файлы.
Шаг 3: запустите SQL и запустите это, чтобы перевести БД в аварийный режим.
sp_configure 'allow updates', 1
go
reconfigure with override
GO
update sysdatabases set status = 32768 where name = 'TestDB'
go
sp_configure 'allow updates', 0
go
reconfigure with override
GO
Шаг 4: перезапустите SQL server и убедитесь, что БД успешно находится в аварийном режиме.
Шаг 5: запустите эту недокументированную опцию dbcc, чтобы восстановить файл журнала (в правильном месте)
DBCC REBUILD_LOG(TestDB,'D:\SQL_Log\TestDB_Log.LDF')
Шаг 6: возможно, Вам потребуется сбросить статус. Даже если вы этого не сделаете, это не причинит никакого вреда. так.
exec sp_resetstatus TestDB
Шаг 7: Stop и start SQL, чтобы увидеть вашу недавно восстановленную базу данных.
в Enterprise Manager щелкните правой кнопкой мыши сервер и выберите присоединить базу данных. Выберите файл MDF и нажмите Ok. Затем он спросит вас, Хотите ли вы создать новый файл журнала или нет. Скажи "Да".