解决方案: |
请先将帐套进行备份,然后用dbcc checkdb 对数据库进行修复,具体语句如下:
DBCC CHECKDB包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象。
DBCC CHECKDB ‘database_name‘ ,REPAIR_FAST 没有丢失数据的危险。
DBCC CHECKDB ‘database_name‘ ,REPAIR_REBUILD 所有修复没有丢失数据的危险。
DBCC CHECKDB ‘database_name‘ ,REPAIR_ALLOW_DATA_LOSS 有丢失数据的危险,使用此命令后,应对修复前数据表和修复后数据表进行记录数的对比,来检查丢失的数据情况。
使用dbcc checkdb命令需要将数据库置于单用户使用状态。
将数据库置于单用户使用状态的命令是:
sp_dboption ‘database_name‘, ‘single user‘,‘true‘
修复完成后,应将数据库重新置回多用户使用状态,命令为:
sp_dboption ‘datebase_name‘, ‘single user‘,‘false‘
c.举例如下:
sp_dboption ‘ufdata_001_2002‘, ‘single user‘,‘true‘
dbcc checkdb ‘ufdata_001_2002‘, repair_allow_data_loss
sp_dboption ‘ufdata_001_2002‘, ‘single user‘,‘false‘ |