44

我的本地盒子上有一个 .mdf 文件。

我的本地机器上安装了 SQL Server 2008 Express 和 SQL Management Studio 2008 Express。

我到底如何将此 .mdf 文件作为新数据库导入到我的 SQL Server 中?

这似乎是一项非常常见的任务,每天必须在全球范围内执行数千次,我无法弄清楚如何在 Management Studio Express 中执行此操作。

我错过了什么?

4

5 回答 5

32

打开 SQL Management Studio Express 并登录到要附加数据库的服务器。在“对象资源管理器”窗口中,右键单击“数据库”文件夹并选择“附加...”“附加数据库”窗口将打开;在该窗口中单击“添加...”,然后导航到您的 .MDF 文件并单击“确定”。再次单击“确定”以完成附加数据库,您就完成了。数据库应该可供使用。最好的祝福 :)

于 2013-01-19T06:48:30.443 回答
29

请参阅:如何:将数据库文件附加到 SQL Server Express

通过 sqlcmd 登录数据库:

sqlcmd -S Server\Instance

然后发出命令:

USE [master]
GO
CREATE DATABASE [database_name] ON 
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\<database name>.mdf' ),
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\<database name>.ldf' )
 FOR ATTACH ;
GO
于 2010-10-27T21:37:39.323 回答
16

要执行此操作,请参见下图:

在此处输入图像描述

下一步是添加 *.mdf 文件,

非常重要,.mdf 文件必须位于 C:......\MSSQL12.SQLEXPRESS\MSSQL\DATA

在此处输入图像描述

现在删除日志文件

在此处输入图像描述

于 2016-02-17T10:42:01.187 回答
1

除了上面@daniele3004 发布的答案中提到的步骤外,我必须以管理员身份打开 SSMS,否则会显示主文件是只读错误。

转到开始菜单,导航到 SSMS 链接,右键单击 SSMS 链接,选择以管理员身份运行。然后执行上述步骤。

于 2017-01-07T12:22:53.517 回答
1

如果您没有 LDF 文件,则:

1) 将 MDF 放入C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\

2) 在 ssms 中,转到Databases -> Attach并添加 MDF 文件。它不会让你以这种方式添加它,但它会告诉你其中包含的数据库名称。

3) 确保您正在运行 ssms.exe 的用户有权访问此 MDF 文件。

4) 现在您知道 DbName,运行

EXEC sp_attach_single_file_db @dbname = 'DbName', 
@physname = N'C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\yourfile.mdf';

参考:https ://dba.stackexchange.com/questions/12089/attaching-mdf-without-ldf

于 2017-04-01T16:40:39.667 回答