有没有人知道是否有办法只附加一个SQL Server MDF文件(没有.LDF)文件。 数据库的日志文件已删除,我试图附加MDF,它不起作用。 我已经尝试运行脚本来附加文件但没有帮助:
USE master;
GO
EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2012',
@physname =
N'C:\ProgramData\Homefront\Database\DB1.mdf';
请帮助!!!!
答案 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