SQL Server置疑数据库办理办法[MSSQL防范]
本文“SQL Server置疑数据库办理办法[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.首先确认已经备份了.mdf和.ldf文件.
2. 在sql server中新建一个同名的数据库,然后终止SQL Server服务.
3. 用原有的.mdf和.ldf文件覆盖新建数据库对应的.mdf和.ldf文件.
4. 重新启动SQL Server服务,这是应当会看到这个数据库处于置疑(Suspect)状况.
5. 在SQL查询解析器中履行以下号令,以答应更新系统表:
use mastergosp_configure "allow updates",1reconfigurewithoverridego
6. 将这个数据库置为告急情势:
update sysdatabases set status = 32768 where name="db_name"go
7. 利用DBCC CHECKDB号令查抄数据库中的错误:
DBCC CHECKDB("db_name")GO
8. 假如DBCC CHECKDB号令失利,请转至第10步,不然先将数据库置为单用户情势,再尝试对其举行修复:
sp_dboption "db_name","single user","true"DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)GO
假如在履行DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)号令时提醒说数据库未处于单用户情势状况的话,则重新启动SQLServer服务,然后持续尝试.
9. 假如DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)号令失利,请转至第10步,不然若成功修复了数据库中的错误:
重新履行DBCC CHECKDB("db_name")号令,确认数据库中已没有错误存在.
排除数据库的置疑状况:sp_resetstatus "db_name"
排除数据库的单用户情势状况:sp_dboption "db_name","single user","false"
重新启动SQL Server服务,假如一切正常的话,则数据库已经成功恢复.
10.假如以上步骤都不能办理问题的话,请参考附件中的文档尝试通太重建事件日记来恢复数据库中的数据.假如您只有MDF文件,问题就越发复杂一些,我们需求直接重建事件日记了:
1. 在SQL Server中新建一个同名的数据库,然后终止SQL Server服务.
2. 用原有的ldf文件覆盖新建数据库对应的.mdf文件,将其日记文件(.ldf)删除.
3. 启动SQL Server服务,并将数据库置为告急情势(同上: 步骤5和步骤6).
4. 终止并重新启动SQL Server服务.
5. 履行以下号令重建数据库日记文件:(下面是个示例,您要用您实际的数据库名)
DBCC REBUILD_LOG("cas_db", "D:\cas_db\cas_db_Log.LDF")
6. 重新将该数据库置为单用户情势.
7. 再次尝试利用DBCC CHECKTABLE或DBCC CHECKDB号令查抄并修复数据库中的错误.
编辑举荐
教你若何优化SQL语句中的物理查询
浅谈SQL Server 2008中新增属性Hierarchyid
详解SQL逻辑查询的各个阶段
以上是“SQL Server置疑数据库办理办法[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |