开发者社区> 问答> 正文

如何仅使用MDF文件附加MSSQL 2000数据库

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

由于某些未知原因,缺少LDF日志文件。假定已删除。

我有该服务器上曾经存在的数据库的mdf文件(在一种情况下,也有ndf文件),我试图将它们安装起来并在我坐着的另一个SQL 2000框上运行。

sp_attach_db抱怨日志文件丢失,并且将不附加数据库。尝试使用同名数据库中的日志文件来欺骗它的操作惨遭失败。sp_attach_single_file_db也不会工作。mdf文件显然没有干净地分离。

如何获得数据库的附件并可读?

展开
收起
心有灵_夕 2019-12-29 12:53:49 1206 0
1 条回答
写回答
取消 提交回答
  • 我找到了这个答案,该答案可用于我的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:停止并启动SQL,以查看新还原的数据库。

    2019-12-29 12:54:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载