关闭

【数据库SQL】数据库修复,DBCC(常规正常修复)

76人阅读 评论(0) 收藏 举报
分类:
注:请将 isszmv9替换成相应软件的数据库名。


此处以专卖9例说明:


1.停止SQL Server的服务,备份SQL Server安装目录下的\data子目录一个isszmv9_log.ldf(也有可能非此命名),


同时查看磁盘 
2.启动SQL Server服务(如已停止),创建一个新的数据库,命名为空间是否有足够的空间; 原来数据库的名字。


3.停止SQL Server


4.把老数据库的MDF文件(isszmv9_data.mdf)替换新数据库的相应的MDF文件,并把LDF文件(isszmv9_log.ldg)删除。


5.重新启动SQL Server服务,然后运行如下命令:


Use Master
go
sp_configure 'allow updates', 1


reconfigure with override
go
begin tran


update sysdatabases set status = 32768 where name = 'isszmv9'


--Verify one row is updated before committing


commit tran


go


6.停止SQL然后重新启动SQL Server服务,然后运行如下命令


(更换日志文件路径地址):


use master


go


DBCC TRACEON(3604)


DBCC REBUILD_LOG


('isszmv9',


'd:\Program Files\Microsoft SQL Server\MSSQL\Data\isszmv9_log.ldf')


--在这里,请输入你的数据库的路径


Go


 


7.停止SQL然后重新启动SQL Server服务,然后运行:


use master


go


update sysdatabases set status = 8 where name = 'isszmv9'


go
sp_configure 'allow updates', 0


reconfigure with override


go








8.运行 use isszmv9 dbcc checkdb(isszmv9) 检查数据库的完整性


9.修复数库


--请在查询分析器中执行下列语句.执行前断开其它


所有数据库连接,最好是断开网线


--如果不是该数据库名,请将数据库


--isszmv9


--改为要修复的数据库


USE master


Go


--单用户模式


EXEC sp_dboption 'isszmv9', 'single user', 'TRUE'


go


--数据库检查


DBCC CHECKDB ('isszmv9')


Go


--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复


--数据库修复


DBCC CHECKDB ('isszmv9','repair_rebuild')


Go


--再次数据库检查,如果返回结果中没有了红色的提示文字,


说明修复成功;


DBCC CHECKDB ('isszmv9')


Go


--否则意味着还需要更高级别的修复;尝试将上面修复语句的
'repair_rebuild'换为'repair_allow_data_loss'再试,
DBCC CHECKDB ('isszmv9','repair_allow_data_loss')


Go


之后再次检查数据库。


--如果还有错误未修复,请把这些信息以文字的方式发给我们




--退出前请一定要执行以下语句返回到多用户模式


EXEC sp_dboption 'isszmv9', 'single user','FALSE'


go

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16334次
    • 积分:1082
    • 等级:
    • 排名:千里之外
    • 原创:97篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条