SQLServer DBCC

来源:互联网 发布:java乘法表 编辑:程序博客网 时间:2024/06/04 23:33

go

--declare @databaseName varchar(50)

--set @databaseName='skhprint'

--1修改服务器设置:允许对系统目录进行直接修改

sp_configure 'allow updates',1 reconfigure with override

go

--2将数据库置为紧急状态

update master.dbo.sysdatabases set status = 32768 where name = 'skhprint'

go

--3删除新的ldf文件,重建日志:

dbcc rebuild_log('skhprint', 'f:\skhprint_log_new.ldf')--假设把新日志在f盘

go

update master.dbo.sysdatabases set status = 16 where name = 'skhprint'

go

--4修改服务器设置:取消 允许对系统目录进行直接修改

sp_configure 'allow updates', 0 reconfigure with override

go

--再使用检查工具修复错误 dbcc

--5设置为单用户模式

alter database skhprint set single_user with rollback immediate

go

--6 修复数据库

dbcc checkdb ('skhprint',REPAIR_ALLOW_DATA_LOSS)

go

--7 设置为多用户模式

alter database skhprint set multi_user

go

--执行完毕之后,如果还有错误,重复执行6,直到没有错误为止。

--根据提示操作

--如果没有其他问题,则修复成功!