中易网

如何解决SQLSERVER数据库出现可疑问题

答案:2  悬赏:10  
解决时间 2021-11-10 22:22
如何解决SQLSERVER数据库出现可疑问题
最佳答案
重启服务
--------------------------------------------------
日志文件丢了,建一个日志文件
--------------------------------------------------

SQL SERVER 2005 数据库状态为“可疑”的解决方法
--MyDB为修复的数据名
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE MyDB SET EMERGENCY
GO
sp_dboption 'MyDB', 'single user', 'true'
GO
DBCC CHECKDB('MyDB','REPAIR_ALLOW_DATA_LOSS')
GO
ALTER DATABASE MyDB SET ONLINE
GO
sp_configure 'allow updates', 0 reconfigure with override
GO
sp_dboption 'MyDB', 'single user', 'false'
GO

-------------------------------------------------
当数据库发生这种操作故障时,可以按如下操作步骤可解决此方法,打开数据库里的Sql 查询编辑器窗口,运行以下的命令。

  1、修改数据库为紧急模式

  ALTER DATABASE Zhangxing SET EMERGENCY

  2、使数据库变为单用户模式

  ALTER DATABASE Zhangxing SET SINGLE_USER

  3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。

  DBCC CheckDB (Zhangxing, REPAIR_ALLOW_DATA_LOSS)

  4、使数据库变回为多用户模式

  ALTER DATABASE Zhangxing SET MULTI_USER

  也可以这样做:

  1:重新建立一个,一样的数据库,路径名称,文件都一样。

  2:关掉SQL Server服务;

  3:把源文件COPY过来;

  4:开启SQL Server服务,这样问题同样就解决了。
全部回答
您好,是这样的: 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命令检查并修复数据库中。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
武进区常州南客服中心地址在哪,我要去那里办
此地无银三百两的道理
有谁知道多美滋奶粉济南代理商的联系方式?谢
到成都市公安局看守所怎么去
小孩子睡觉起来眼皮老肿
特莱维专业护肤中心(第2265店)地址在什么地方
哪种眉笔好用?
请问最新三叶减肥茶多少钱
西湖龙井的产地在哪里? 听说西湖龙井产地按
G25宜兴市收费站便利点地址在什么地方,想过
机票怎么样算是改签成功
潍坊央子在哪里?属于什么区,那里发现的好吗
暗杀教室第一季共多少集
小孩换牙是全部牙齿都换还是只换一部分?(大
荣海汽车销售有限公司地址有知道的么?有点事
推荐资讯
谁能帮我查下厦门市工商营业执照注册号为“51
安达市平安机动车检测有限公司地址好找么,我
硬度不够怎么办?
具体有哪些食物是五谷杂粮?如题 谢谢了
衣服组合柜的价格实惠吗
河南电子显示屏哪家生产的质量好?
小学生要要用树叶粘个什么东西好
安徽机关事业单位退休人员待遇标准有哪些
侠盗猎车手圣安地列斯车上怎么安装一氧化二氮
谁知道天津,或汉沽塘沽附近好吃又便宜的自助
顽固黑头怎么去
大家是怎么整理你们的衣柜的?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?