我在本地盒子上有一个.mdf文件。SQL Server:从.mdf导入数据库?
我在本地机器上安装了SQL Server 2008 Express和SQL Management Studio 2008 Express。
如何在世界中将这个.mdf文件作为新的数据库导入到我的SQL Server中?
这似乎是一个非常普通的任务,必须每天在全球执行数千次,而且我无法弄清楚如何在Management Studio Express中执行此操作。
我错过了什么?
我在本地盒子上有一个.mdf文件。SQL Server:从.mdf导入数据库?
我在本地机器上安装了SQL Server 2008 Express和SQL Management Studio 2008 Express。
如何在世界中将这个.mdf文件作为新的数据库导入到我的SQL Server中?
这似乎是一个非常普通的任务,必须每天在全球执行数千次,而且我无法弄清楚如何在Management Studio Express中执行此操作。
我错过了什么?
参见: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
打开SQL管理Studio快速并登录到服务器您要附加数据库。在'对象资源管理器'窗口中,右键单击'数据库'文件夹并选择'附加...'将打开'附加数据库'窗口;在该窗口内单击“添加...”,然后导航到您的.MDF文件并单击“确定”。再次点击'OK'完成附加数据库并完成。数据库应该可以使用。 最好的问候:)
不要在SQL Management Studio 2008中为我工作 – 2015-04-08 14:24:29
像daniele3004说: 非常重要,.mdf文件必须位于C:...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA – 2016-06-10 21:32:56
除此之外,我不得不打开SSMS以管理员身份,否则它的内部的主要文件是只读的错误。
转到开始菜单,导航到SSMS链接,右键单击SSMS链接,选择以管理员身份运行。然后执行上述步骤。
如果你没有那么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
而且,虽然它是从那篇文章链接(间接),这里是如何做到这一点[在SSMS]( http://msdn.microsoft.com/en-us/library/ms190209.aspx)。 – 2010-10-27 21:50:33