挽救数据库损坏的方法
条件:原库的 .mdf 文件是完好的即可。(注意:数据最好有多个备份)
请在SQL Server的查询分析器中按以下步骤执行
假设数据库名为: db (如果您的数据库名不是db,需要更改以下语句中相应的db为您的数据库名称)
0.建立一个空库,然后将有数据的 .mdf文件复制过来
覆盖现有的空库的.mdf文件。
1.把数据库设成紧急状态:
然后在SQL查询分析器中,选到master数据库,输入以下语句执行(一条一条执行)
sp_configure 'allow',1
reconfigure with override
update sysdatabases set status=32768 where name='db'
2.重建日志文件(请将路径换成你的数据文件路径)
D:\MSSQL$PROD\Data\为存放数据库文件的路径
db _log2.ldf为一个新的不存在的文件,在执行以下语句时将自动建立
dbcc rebuild_log(' db','D:\MSSQL$PROD\Data\ db _log2.ldf')
3.取消紧急模式(一条一条执行)
update sysdatabases set status=0 where name=' db'
restore database db with recovery
sp_configure 'allow',0
reconfigure with override
4.重起sql server
5.ok