Dev*_*she 4 sql-server restore sql-server-express
我们的一个客户在一个不再运行的系统上有一个 SQL Server 2000 数据库。他们不知道数据库中有什么。他们给了我 .mdf 和 .ldf 文件,并希望我们调查和提取信息(如果有)。
我认为备份这些文件时没有正确分离数据库,因为当我尝试将这些文件附加到我的 SQL Server 2008 快速版时出现以下错误:
由于数据移动,无法使用 NOLOCK 继续扫描。正在将数据库“GRMStemp”从版本 539 转换为当前版本 655。数据库“GRMStemp”运行从版本 539 到版本 551 的升级步骤。(Microsoft SQL Server,错误:601)
在这种情况下我该怎么做才能附加数据库?
听起来数据库已损坏。在进一步操作之前,请复制文件,并且仅使用副本。
您可以尝试以下操作,以防问题与日志隔离:
CREATE DATABASE [GRMStemp]
ON (FILENAME = 'c:\wherever\MDF_File.mdf')
FOR ATTACH_REBUILD_LOG;
Run Code Online (Sandbox Code Playgroud)
如果失败,Paul Randal 在 MSDN 上有一篇论坛帖子,其中描述了一个可能有效的过程。基本上:
ALTER DATABASE GRMStemp SET EMERGENCY;
DBCC CHECKDB (GRMStemp, REPAIR_ALLOW_DATA_LOSS);
这将重建日志并运行完全修复顺便说一句,如果客户不知道数据库中有什么,并且没有足够的责任来维护正确的备份,那么数据有多重要?