附加没有LDF文件的MDF文件

时间:2014-03-27 22:22:37

标签: sql sql-server sql-server-2008 sql-server-2008-r2

有没有人知道是否有办法只附加一个SQL Server MDF文件(没有.LDF)文件。 数据库的日志文件已删除,我试图附加MDF,它不起作用。 我已经尝试运行脚本来附加文件但没有帮助:

USE master;
GO
EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2012', 
    @physname = 
N'C:\ProgramData\Homefront\Database\DB1.mdf';

请帮助!!!!

3 个答案:

答案 0 :(得分:8)

也尝试这些方法......

CREATE DATABASE AdventureWorks2012 
ON (FILENAME = N'C:\ProgramData\Homefront\Database\DB1.mdf')
FOR ATTACH_REBUILD_LOG
GO

或试试这个......

CREATE DATABASE AdventureWorks2012 
ON  ON (FILENAME = N'C:\ProgramData\Homefront\Database\DB1.mdf')
FOR ATTACH
GO

答案 1 :(得分:1)

将MDF放在文件系统上的首选位置。在sql server 2012中,默认为C:\ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ DATA(例如,对于开发人员框中的本地计算机安装) 您可能会在那里看到其他数据库以及您当前拥有的每个数据库的.mdf和.ldf文件。(如果您或其他人将其放在别处,它们可以在其他地方)...所以将AdventureWorks2012_Data.mdf文件放在那里。 现在,在SSMS中,右键单击SSMS左侧导航器中的本地实例“数据库”。选择“附加”。在弹出的屏幕中,在“要附加的数据库”部分(右上角)中选择“添加”。它应弹出打开数据库的默认位置文件夹,您应该在那里看到您的AdventureWorks2012_Data.mdf文件。选择它并单击“确定”将返回初始弹出屏幕。在右下角,您将看到列出的MDF文件和LDF文件。 LDF默认显示。只需突出显示LDF并将其从列表中删除即可。然后单击确定。然后,附加进程将为您重新创建ldf。 (当然是空的)你的AW2012数据库将可用。

答案 2 :(得分:0)

此命令对我有用:

USE [master]

CREATE DATABASE AdventureWorks2012 
ON (FILENAME = N'C:\Database\mydatabase.mdf')
FOR ATTACH
GO