English 中文(简体)
如何连接只有MDF文件的MSSQL 2000数据库
原标题:
  • 时间:2008-09-24 11:29:24
  •  标签:

我有一台旧服务器,上面有一个已经失效的SQL 2000评估版本(从2006年开始),还有两个数据库。

由于某种未知原因,LDF日志文件丢失。推测已删除。

我有过去存在于该服务器上的数据库的mdf文件(在一种情况下还有ndf文件),我正试图让它们在我坐着的另一个SQL 2000盒子上运行。

sp_attach_db报告日志文件丢失,并且不会附加数据库。试图通过使用同名数据库中的日志文件来欺骗它,但失败得很惨sp_attach_single_file_db也无法工作。mdf文件显然没有被干净地分离。

如何连接数据库并使其可读?

最佳回答

我找到了这个答案,它适用于我的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_LogTestDB_Log.LDF )

步骤6:您可能需要重置状态。即使你不这样做,也不会有任何害处。

exec sp_resetstatus TestDB

步骤7:停止并启动SQL以查看新恢复的数据库。

问题回答

在Enterprise Manager中,右键单击服务器,然后选择“附加数据库”。选择MDF文件并单击“确定”。然后它会询问您是否要创建新的日志文件。答应。





相关问题