数据库置疑
首先请备分数据库文件,手工将数据库存放目录里的hbfsv6.mdf和hbfsv6.ldf(分部的话会是hbfsv6_branch.mdf和hbfsv6_branch.ldf)
一。数据库置疑,可用以下操作方法进行修复:
步骤1:
创建一个新的数据库,命名为原来数据库的名字。
步骤2:
停止SQL Server
步骤3:
把老数据库的MDF文件替换新数据库的相应的MDF文件,并把LDF文件删除。
步骤4:
重新启动SQL Server服务,然后运行如下命令:
Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
Go
begin tran
update sysdatabases set status = 32768 where name = 'hbfsv6'
--Verify one row is updated before committing
commit tran
步骤5:
停止SQL然后重新启动SQL Server服务,然后运行如下命令:
DBCC TRACEON(3604)
DBCC REBUILD_LOG('hbfsv6','C:\Program Files\Microsoft SQLServer\MSSQL\Data\hbfsv6_log.ldf')
Go
步骤6:
停止SQL然后重新启动SQL Server服务,然后运行:
use master
update sysdatabases set status = 8 where name = 'hbfsv6'
Go
sp_configure 'allow updates', 0
reconfigure with override
Go
步骤7:
运行dbcc checkdb(hbfsv6) 检查数据库的完整性
注:都要替换成真实的数据库名字。
二。以下是修复数据库的语法:
/*****************************************************************
* 本语句可以多次执行,一直到没有红色文字出现,则修复成功
* 这类故障是一般是由于磁盘读写问题造成的。
* 'hbfsv6'代表要修复的数据库
* 下面的语句是修复总部数据库的SQL,如需要修复总部的数据库,请将 'hbfsv6' 改为 'isszmv6'
* 超市之星系统直接执行
* 快捷通、进销存系列,请将'hbfsv6'改为'isd2001v3',如果是分部,改为'isd2001v3_branch'
* 商务通系列,请将'hbfsv6'改为'isd2001v4',如果是分部,改为'isd2001v4_branch'
*商业之星请将'hbfsv6'改为'hbposv6'
******************************************************************/
--请在查询分析器中执行下列语句.执行前断开其它所有数据库连接,最好是断开网线
USE master
Go
--单用户模式
EXEC sp_dboption 'hbfsv6', 'single user', 'TRUE'
go
--数据库检查
DBCC CHECKDB ('hbfsv6')
Go
--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复
--数据库修复
DBCC CHECKDB ('hbfsv6',repair_rebuild)
Go
--再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功;
DBCC CHECKDB ('hbfsv6')
Go
--否则意味着还需要更高级别的修复;尝试将上面修复语句的'repair_rebuild'换为'repair_allow_data_loss'再试,之后再次检查数据库。
--如果还有错误未修复,
--退出前请一定要执行以下语句返回到多用户模式
EXEC sp_dboption 'hbfsv6', 'single user','FALSE'
go