我的本地邮箱上有一个.mdf文件。
我在本地邮箱上安装了SQL Server 2008 Express和SQL Management Studio 2008 Express。
我如何将这个.mdf文件作为新数据库导入我的SQL Server?
这似乎是一项非常普遍的任务,必须每天在全球范围内执行数千次,而且我无法弄清楚如何在Management Studio Express中执行此任务。
我错过了什么?
答案 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)
要执行此操作,请参阅下一张图像:
,下一步是添加* .mdf文件,
非常重要,.mdf文件必须位于C:...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA
现在删除日志文件
答案 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