附加数据库时遇到报错,有一个文件死活认不到:
无法打开物理文件“E:\data\test02.mdf”。操作系统错误 2:“2(系统找不到指定的文件。)
由于是测试库,数据文件太大重新复制一遍太浪费时间,并且ldf里也没有多少数据,选择了在没有ldf的情况下使用mdf来恢复数据库。当然如果mdf文件都损坏了,这个方法也是不行的。
恢复步骤如下:
- 首先在SQL Server中创建一个同名的数据库,叫[YourDB]。
- 然后停止SQL Server服务,拷贝原先的YourDB.mdf到你刚才新建的[YourDB]数据库的文件目录并替换之。
- 启动SQL Server服务
- 之后你会发现[YourDB]这个数据在SQL Server的状态是(Recovery Pending)
- 依次执行下面脚本:
ALTER DATABASE [YourDB] SET EMERGENCY DBCC checkdb([YourDB]) -- 可选 ALTER DATABASE [YourDB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE DBCC CheckDB ([YourDB], REPAIR_ALLOW_DATA_LOSS) -- 可选,尽量找回数据 ALTER DATABASE [YourDB] SET MULTI_USER
- 之后就应该可以在SQL Server中正常使用和访问[YourDB]数据库了
参考
https://www.cnblogs.com/OpenCoder/p/9109523.html
cnblogs.com/gaizai/archive/2011/12/19/2293818.html