天天看点

sqlserver 缺少 ldf 附加数据库

在只有MDF文件的情况附加数据库

1. 在相同版本的sqlserver里,在相同的目录新建数据库,文件名要一致。比如:  xdata

2. 停止sqlserver服务,将要附加的mdf文件替换掉新建的mdf文件.

3. 开启sqlserver服务

4. 打开SMSS,新建查询,并执行如下命令:

   alter database xdata set emergency -- 设定状态为紧急模式

   alter database xdata set single_user -- 设定数据库模式为"单一使用者"

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

   alter database xdata set multi_user -- 多用户模式

   alter database xdata set online

5. 如果上述命令都能不报错执行,恭喜你,ldf文件已经重建好了。

6. 在执行sql语句的过程中,你有可能遇到如下问题

   6a. 当sqlserver与要附加的mdf的版本不一致时,会报错提示升级。

   6b. 当新建的数据库的文件名不一致时,会提示找不到日志文件。