2010-10-27 169 views
33

我在本地盒子上有一个.mdf文件。SQL Server:从.mdf导入数据库?

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

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

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

我错过了什么?

回答

20

参见: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 
+5

而且,虽然它是从那篇文章链接(间接),这里是如何做到这一点[在SSMS]( http://msdn.microsoft.com/en-us/library/ms190209.aspx)。 – 2010-10-27 21:50:33

23

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

+0

不要在SQL Management Studio 2008中为我工作 – 2015-04-08 14:24:29

+0

像daniele3004说: 非常重要,.mdf文件必须位于C:...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA – 2016-06-10 21:32:56

7

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

enter image description here

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

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

enter image description here

现在从张贴的答案被@ daniele3004上述步骤删除日志文件

enter image description here

0

除此之外,我不得不打开SSMS以管理员身份,否则它的内部的主要文件是只读的错误。

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

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

相关问题