SQL数据库置疑怎么办-集合27句
SQL数据库置疑怎么办
1、你首先要进入“单用户模式”,让你可以重新操作数据库,然后用SELECT命令可以看出什么表出错了(上帝保佑你只是某个表出错了),如果只是某个表出错,而又只是数据错误,不是结构错误,还可以通过运行带WHERE子句的SQL看看数据是到哪里出错,把,错误点以后的数据都删除掉,那至少数据库还可以用。
2、如果DBCCCHECKDB命令失败,请转至第10步,否则先将数据库置为单用户模式,再尝试对其进行修复:sp_dboption"db_name","single
3、您好,是这样的:
4、首先确认已经备份了.mdf和.ldf文件。
5、将这个数据库置为紧急模式:updatesysdatabasessetstatus=32768wherename="db_name"go。
6、使用DBCCCHECKDB命令检查数据库中的错误:DBCCCHECKDB("db_name")GO。
7、在SQL查询分析器中执行以下命令,以允许更新系统表:usemastergosp_configure"allowupdates",1reconfigurewithoverridego。
8、如果DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)命令失败,请转至第10步,否则若成功修复了数据库中的错误:
9、在SQLServer中新建一个同名的数据库,然后停止SQLServer服务。
10、重新执行DBCCCHECKDB("db_name")命令,确认数据库中已没有错误存在。
11、重新将该数据库置为单用户模式。
12、user","true"DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)GO
13、执行以下命令重建数据库日志文件:(下面是个示例,您要用您实际的数据库名)
14、清除数据库的单用户模式状态:sp_dboption"db_name","singleuser","false"
15、清除数据库的置疑状态:sp_resetstatus"db_name"
16、如果在执行DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)命令时提示说数据库未处于单用户模式状态的话,则重新启动SQLServer服务,然后继续尝试。
17、如果以上步骤都不能解决问题的话,请参考附件中的文档尝试通过重建事务日志来恢复数据库中的数据。如果您只有MDF文件,问题就更加复杂一些,我们需要直接重建事务日志了:
18、启动SQLServer服务,并将数据库置为紧急模式(同上:步骤5和步骤6)。
19、停止并重新启动SQLServer服务。
20、重新启动SQLServer服务,这是应该会看到这个数据库处于置疑(Suspect)状态。
21、用原有的ldf文件覆盖新建数据库对应的.mdf文件,将其日志文件(.ldf)删除。
22、重新启动SQLServer服务,如果一切正常的话,则数据库已经成功恢复。
23、数据库"置疑"了应该是文件损坏了,例如你把数据库分离后,用记事本打开他会看到很多乱码,强行改动里边的那些乱码,保存后附加数据库,由于里边格式乱了,数据库就"置疑"了。
24、如果你的数据不是真的都那么要紧的话,用还原功能是最方便可行的办法。当然备份档之后的数据是没有了。
25、DBCCREBUILD_LOG("cas_db","D:\cas_db\cas_db_Log.LDF")
26、用原有的.mdf和.ldf文件覆盖新建数据库对应的.mdf和.ldf文件。
27、再次尝试使用DBCCCHECKTABLE或DBCCCHECKDB命令检查并修复数据库中。
注:本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即后台留言通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意