SQL Server:从.mdf导入数据库?

时间:2010-10-27 21:35:07

标签: sql-server database import mdf ssms

我的本​​地邮箱上有一个.mdf文件。

我在本地邮箱上安装了SQL Server 2008 Express和SQL Management Studio 2008 Express。

我如何将这个.mdf文件作为新数据库导入我的SQL Server?

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

我错过了什么?

5 个答案:

答案 0 :(得分:29)

打开SQL Management Studio Express并登录到要将数据库附加到的服务器。在对象浏览器中'窗口,右键单击“数据库”'文件夹并选择'附加...' '附加数据库'窗户会打开;在该窗口内点击'添加...'然后导航到.MDF文件并单击“确定”。点击'确定'再一次完成附加数据库,你就完成了。数据库应该可供使用。 最好的问候:)

答案 1 :(得分:22)

请参阅:How to: Attach a Database File to 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

答案 2 :(得分:12)

要执行此操作,请参阅下一张图像:

enter image description here

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

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

enter image description here

现在删除日志文件

enter image description here

答案 3 :(得分:1)

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

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

答案 4 :(得分:0)

如果您没有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