修复数据库不一致性错误的方法

时间:2021-12-26 06:24:39

declare @dbname sysname
要use master

alter database UFDATA_002_2017 set single_user      ---------------这个不好使,可以用 《use master》 《 EXEC sp_dboption ‘UFDATA_002_2017‘, ‘single user‘, ‘TRUE‘》
dbcc checkdb (‘UFDATA_002_2017‘,repair_rebuild)   ----------------修复数据库索引
dbcc checkdb (‘UFDATA_002_2017‘,repair_allow_data_loss)   -------修复数据库
alter database UFDATA_002_2017 set multi_user                    -------或者 EXEC sp_dboption ‘dbname‘, ‘single user‘,‘FALSE‘

 

 

 

----------------------------------------------------------------

2、把数据库设置为单用户模式,直接在查询分析器中执行以下语句即可:
EXEC sp_dboption ‘dbname‘, ‘single user‘, ‘TRUE‘.
3、进入查询分析器执行如下语句:
《《《 ----use dbname 》》》
dbcc checkdb(‘dbname‘,repair_allow_data_loss)-------修复数据库
dbcc checkdb (‘dbname‘,REPAIR_REBUILD)----------------修复数据库索引
4、再执行:dbcc checkdb,检测数据库,出现结果为:
CHECKDB 发现了0个分配错误和 0个一致性错误(在数据库 ‘dbname‘ 中)。
数据库已经修复完毕。
5、取消单用户模式,即直接在查询分析器中执行以下语句即可:
EXEC sp_dboption ‘dbname‘, ‘single user‘,‘FALSE‘