1

我正在尝试附加在不同机器上创建的 SQL Server 2000 MDF 和 LDF,并将它们附加到不同机器上的 SQL Server 2008 R2。原始机器上的 SQL Server 文件位于:

C:\DB\SqlServerDataBase.mdf
D:\Logs\SqlServerDatabase.ldf

2008 Sql Server 机器也包含相同的文件结构,我将 MDF 和 LDF 文件放在相应的文件夹中:

C:\DB\SqlServerDataBase.mdf

D:\Logs\SqlServerDatabase.ldf

使用 SQL Server Management Studio 附加数据库选项时,我指向 MDF 文件,但日志文件自动指向 C:\DB\SqlServerDatabase.ldf 而不是 D:\Logs\SqlServerDatabase.ldf,随后附加失败,因为它找不到日志文件。

有趣的是,如果我使用:

EXEC sp_attach_db @dbname =N'SqlServerDataBase',

@filename1=N'C:\DB\SqlServerDataBase.mdf',

@filename2=N'D:\Logs\SqlServerDatabase.ldf';

数据库已恢复并指向 MDF 和 LDF 的正确路径。

谢谢

4

1 回答 1

2

当您使用 GUI (SQL Server Management Studio) 并选择Attach Database并选择一个.mdf文件时,默认情况下SQL Server Mgmt Studio 将使用数据库日志文件最初存储的路径 - 因为这是它拥有的唯一信息。

但是您可以并且您必须更改它以匹配您当前的设置 - 只需输入正确的路径(或者如果您愿意,可以在单击时从路径选择器弹出窗口中选择它[...]

在此处输入图像描述

输入正确的路径后,单击[OK],您的数据库将按要求附加。

于 2013-07-21T07:21:27.940 回答