我的数据库突然停止工作,并且不检查错误日志,它说主数据库已损坏。
因此,我尝试使用命令重新构建系统数据库:
setup /ACTION=REBUILDDATABASE /QUIET
/INSTANCENAME=<instance name> /SQLSYSADMINACCOUNTS=<accounts>运行该命令后,数据库服务器再次开始工作,但我的所有数据库都找不到。我真的需要一些想法,因为我没有备份数据库。
我的想法是,数据库文件(mdf,ldf,ndf)仍然在我的本地驱动器上,所以有可能将这些文件重新链接到数据库吗?
我尝试在实例上创建一个具有相同名称的数据库,并得到了错误。
Create failed for Database 'db'. (Microsoft.SqlServer.Smo)
Cannot create file 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.db\MSSQL\DATA\db.mdf' because it already exists. Change the file path or the file name, and retry the operation.
CREATE DATABASE failed. Some file names listed could not be created. Check related errors. (Microsoft SQL Server, Error: 5170)这证明了我的想法文件还在那里。那么如何重建/恢复到我的数据库呢?
发布于 2012-12-24 19:15:36
您可以尝试使用这些文件附加丢失的数据库。您可以右键单击Management中的“数据库”文件夹,然后选择“附加”。
另一种选择,也是我通常会选择的方法,是使用任何备份。不过,您将经历一些数据丢失。如果数据库使用完整恢复模型,则应该能够还原到上一次事务日志备份。否则,如果使用的是简单恢复模型,则只能从最新的完全备份恢复。
发布于 2012-12-26 21:23:14

3.单击Add
4.转到D:\Program \Microsoft SQL Server\MSSQL10_50.db\MSSQL\DATA 5。选择db.mdf,相应的ldf文件将自动添加。

如果由于mdf文件不好而导致此操作失败,您可以尝试一个工具来读取损坏的mdf文件,例如ApexSQL恢复。
https://dba.stackexchange.com/questions/31016
复制相似问题