修复损坏的SQL数据库
例如,数据库的名字是:freehost第一种是设置为单用户模式,然后修复它,最后恢复多用户模式。
更改数据库设置single_user freehost } {
去
DBCC CHECKDB('freehost ',repair_allow_data_loss)WITH TABLOCK
去
更改数据库设置multi_user freehost } {
去
--会有3个参数:
——repair_allow_data_loss
repair_rebuild执行完成所有的维修,包括分配和取消行和页分配,正确的分配错误,结构行或页错误,删除损坏的文本对象,这些修复可能会导致某些数据丢失。修复操作就可以完成用户的交易允许用户回滚更改。如果修复回滚,数据库仍然会有一个错误,应该从备份恢复。如果错误的失踪是因为提供的维修水平,维修,取决于修复将会丢失。修复完成后,备份数据库。
——repair_fast执行小、耗时的修复操作,如在一个非固定附加键聚集索引。这些修复可以很快完成,并且没有丢失数据的危险。
——repair_rebuild执行所有修理的repair_fast,包括更长的一段修复的需要(如重建索引),不存在数据丢失的危险时,执行这些修理。
——DBCC CHECKDB('freehost)与no_infomsgs,physical_only