全站搜索
常见问题分类
 

工厂版

 
常见问题
 
功能权限
 
基础设置
 
销售管理
 
电商管理
 
生产管理
 
物料管理
 
出纳管理
 
会计管理
 
成品管理
 
半成品
 

电商版

 
常见问题
 
功能权限
 
订单管理
 
采购管理
 
退款管理
 
售后管理
 
赔偿管理
 
仓储管理
 
绩效管理
 
基础设置
 
数据分析
 
出纳管理
 

通—用

SQL Server置疑数据库解决方法

133
发表时间:2012-08-17 00:00

 1.首先确认已经备份了.mdf.ldf文件。

  2. SQL Server中新建一个同名的数据库,然后停止SQL Server服务。

  3. 用原有的.mdf.ldf文件覆盖新建数据库对应的.mdf.ldf文件。

  4. 重新启动SQL Server服务,这是应该会看到这个数据库处于置疑(Suspect)状态。

  5. SQL查询分析器中执行以下命令,以允许更新系统表:

use mastergosp_configure ‘allow updates’,1reconfigure with overridego

  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’DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)GO


  如果在执行DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令时提示说数据库未处于单用户模式状态的话,则重新启动SQL Server服务,然后继续尝试。

  9. 如果DBCC CHECKDB(‘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 CHECKTABLEDBCC CHECKDB命令检查并修复数据库中的错误。

联系人:肖生     

手 机:189-28668085

fma.png:58413709  

fma.png:2189948296

邮 箱:58413709@qq.com

地 址:佛山市顺德区乐从镇新华路1号三乐路口(领航国际604号)

工作时间:(星期一至星期六)

上午08:30-12:00 

下午14:00-18:00

联系方式
 
 

联系人:肖生     

手 机:189-28668085

在线QQ: pa?p=1:58413709:3 肖工

在线QQ: fma.png 冉工

邮 箱:58413709@qq.com

地 址:佛山市顺德区乐从镇新华路1号三乐路口(领航国际604号)