sqlserver没有ldf附加数据库

只有一个mdf文件如Test.mdf,附加数据库

1.在SQL Server中新建一个数据库名为Test(注,文件名为Test.mdf真正的的数据库不一定是这个名,先在SQL Server中导入过程中看看是不是这个名,一定要和真正的数据库名称一致)

2.停止SQL Server,把Test.mdf替换掉

3.重新启动SQL Server,如果你点一下Test数据库会有错误提示,不用管它

4.打开一查询窗口,进行以下操作:

①alter database Test set emergency 设定Test状态为紧急模式

②sp_dboption 'Test','single user','false' 设定数据库模式为"单一使用者"

③dbcc checkdb(Test,repair_allow_data_loss) 此句为关键语句,意为检查指定数据库所有数据的配置、结构和逻辑完整性。这一步操作会重新建立ldf日志文件

④sp_dboption 'Test','single user','false' 还原Test数据库模式

⑤alter database Test set online 设定Test数据库状态为online

注第③步很多人不会成功,原因在于,系统重建日志文件时找不到路径,需要手动创建路径。方法为:在第③步的错误提示中有ldf文件的路径,此路径信息包含在原mdf文件中,按此信息依次创建文件夹后,重新执行这条SQL语句。

最后成功后,建议把此数据库分离,换个你先要的名称,重新附加一次。

你可能感兴趣的:(SQL代码)