全球旧事资料 分类
MSSqlServer提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令。1DBCCCHECKDB重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。usemasterdeclaredatabase
amevarchar255setdatabase
ame需要修复的数据库实体的名称execsp_dboptio
database
ameNsi
gleNtrue将目标数据库置为单用户状态dbcccheckdbdatabase
ameREPAIR_ALLOW_DATA_LOSSdbcccheckdbdatabase
ameREPAIR_REBUILDexecsp_dboptio
database
ameNsi
gleNfalse将目标数据库置为多用户状态然后执行DBCCCHECKDB需要修复的数据库实体的名称检查数据库是否仍旧存在错误。注意:修复后可能会造成部分数据的丢失。
2DBCCCHECKTABLE如果DBCCCHECKDB检查仍旧存在错误,可以使用DBCCCHECKTABLE来修复。use需要修复的数据库实体的名称declaredb
amevarchar255setdb
ame需要修复的数据库实体的名称execsp_dboptio
db
amesi
gleusertruedbccchecktable需要修复的数据表的名称REPAIR_ALLOW_DATA_LOSSdbccchecktable需要修复的数据表的名称REPAIR_REBUILD把’需要修复的数据表的名称’更改为执行DBCCCHECKDB时报错的数据表的名称execsp_dboptio
db
amesi
gleuserfalse
3其他的一些常用的修复命令
fDBCCDBREINDEX重建指定数据库中表的一个或多个索引用法:DBCCDBREINDEX表名’’修复此表所有的索引。4DBCCSHRINKFILE设备文件名或id目标大小
DBCCSHRINKFILEtempdev200收缩数据库文件tempdev到200MBDBCCSHRINKFILEtemplog100收缩数据库文件templog到100MB
清除日志文件backuplog数据库名withNO_LOGdbccshri
kDatabase数据库名例:将tempdb文件设定大小为50M:USEtempdbDBCCSHRINKFILEtempdb50

DBCCCHECKDB
selectfromDOC01DT
declaredatabase
amevarchar255setdatabase
amer3misexecsp_dboptio
database
ameNsi
gleNtrue将目标数据库置为单用户状态
fdbcccheckdbdatabase
ameREPAIR_ALLOW_DATA_LOSSdbcccheckdbdatabase
ameREPAIR_REBUILDexecsp_dboptio
database
ameNsi
gleNfalse将目标数据库置为多用户状态DBCCCHECKDBr3mis
declaredb
amevarchar255setdb
amer3misexecsp_dboptio
db
amesi
gleusertruedbccchecktableDOC70pluREPAIR_ALLOW_DATA_LOSSdbccchecktableDOC70pluREPAIR_REBUILDdbccchecktableFINEBKREPAIR_ALLOW_DATA_LOSSdbccchecktableFINEBKREPAIR_REBUILDdbccchecktableBASPLUCRTCREPAIR_ALLOW_DATA_LOSSdbccchecktableBASPLUCRTCREPAIR_REBUILDdbccchecktableBASPLUMAINREPAIR_ALLOW_DATA_LOSSdbccchecktableBASPLUMAINRr
好听全球资料 返回顶部