数据库损坏修复!!

1.停止SQL Server的服务,备份SQL Server安装目录下的/data子目录

下故障数据库的两个文件,一个数据文件business.mdf,

一个business_log.ldf(也有可能非此命名),同时查看磁盘

空间是否有足够的空间; 

 

2.启动SQL Server服务(如已停止),创建一个新的数据库,命名为

原来数据库的名字。

3.停止SQL Server

4.把老数据库的MDF文件(business.mdf)替换

新数据库的相应的MDF文件,

并把LDF文件(business_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 = 'business'

--Verify one row is updated before committing

commit tran

go

 

 

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

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

 

use master

go

DBCC TRACEON(3604)

DBCC REBUILD_LOG

('business',

'c:/Program Files/Microsoft SQL Server/MSSQL/Data/business_log.ldf')

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

go

 

 

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

 

use master

go

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

go

 

sp_configure 'allow updates', 0

reconfigure with override

go

 

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

 

9.修复数库

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

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

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

--hbposv6_branch

--改为要修复的数据库

 

USE master

Go

--单用户模式

EXEC sp_dboption 'business', 'single user', 'TRUE'

go

--数据库检查

DBCC CHECKDB ('business')

Go

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

--数据库修复

DBCC CHECKDB ('business','repair_rebuild')

Go

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

说明修复成功;

DBCC CHECKDB ('business')

Go

--否则意味着还需要更高级别的修复;尝试将上面修复语句的

'repair_rebuild'换为'repair_allow_data_loss'再试,

之后再次检查数据库。

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

 

 

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

EXEC sp_dboption 'business', 'single user','FALSE'

go

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值