Как подключить базу данных 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. Затем он спросит вас, Хотите ли вы создать новый файл журнала или нет. Скажи "Да".