X迅软件解决数据质疑
操作前备份数据库 注意备份。
注:请将 issbakev8_branch替换成相应软件的数据库名。
第1步.停止SQL Server的服务,备份SQL Server安装目录下的\data子目录一个issbakev8_branch_log.ldf(也有可能非此命名),和issbakev8_branch_data文件之后,并把LDF文件(issbakev8_branch_log.ldg)删除。
2步3步4步在有数据的服务器电脑省略直接看第5步。
5.重新启动SQL Server服务,然后运行如下命令:
Use Master
go
sp_configure 'allow updates', 1
reconfigure with override
go
begin tran
update sysdatabases set status = 32768 where name = 'issbakev8_branch'
--Verify one row is updated before committing
commit tran
go
6.停止SQL然后重新启动SQL Server服务,然后运行如下命令
(更换日志文件路径地址):
use master
go
DBCC TRACEON(3604)
DBCC REBUILD_LOG
('issbakev8_branch',
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\issbakev8_branch_log.ldf')
--在这里,请输入你的数据库的路径
Go
7.停止SQL然后重新启动SQL Server服务,然后运行:
use master
go
update sysdatabases set status = 8 where name = 'issbakev8_branch'
go
sp_configure 'allow updates', 0
reconfigure with override
go
8.运行dbcc checkdb(db_name) 检查数据库的完整性
9.修复数库
--请在查询分析器中执行下列语句.执行前断开其它
所有数据库连接,最好是断开网线
--如果不是该数据库名,请将数据库
--issbakev8_branch
--改为要修复的数据库
USE master
Go
--单用户模式
EXEC sp_dboption 'issbakev8_branch', 'single user', 'TRUE'
go
--数据库检查
DBCC CHECKDB ('issbakev8_branch')
Go
--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复
--数据库修复
DBCC CHECKDB ('issbakev8_branch','repair_rebuild')
Go
--再次数据库检查,如果返回结果中没有了红色的提示文字,
说明修复成功;
DBCC CHECKDB ('issbakev8_branch')
Go
--否则意味着还需要更高级别的修复;尝试将上面修复语句的
'repair_rebuild'换为'repair_allow_data_loss'再试,
之后再次检查数据库。
--如果还有错误未修复,请把这些信息以文字的方式发给我们
--退出前请一定要执行以下语句返回到多用户模式
EXEC sp_dboption 'issbakev8_branch', 'single user','FALSE'
go
--5、数据库修复好后,最后执行一下自增列的修复
use issbakev8_branch --可改成相应的数据库名
go
declare @tablename varchar(100)
declare test_cur cursor for
select object_name(id) from syscolumns
where status=128
open test_cur
fetch test_cur into @tablename
while @@fetch_status=0
begin
DBCC CHECKIDENT (@tablename, RESEED)
fetch test_cur into @tablename
end
close test_cur
deallocate test_cur
go