新闻中心 > 技术文档:科脉软件修复数据语句

技术文档:科脉软件修复数据语句

来源:本站整理 | 点击: | 录入时间:2014-12-10

已启谋为例(其他软件将kmjxc_pro改为对应数据库名):
如数据库未处于置疑状态但数据库有一致性错误,可从第9步开始操作


1.停止SQL Server的服务,备份kmdata目录下的kmjxc_pro_log.ldf和kmjxc_pro_data.mdf(也有可能非此命名),
如复制时报错则检查磁盘.
2.启动SQL Server服务(如已停止),创建一个新的数据库,命名原来数据库的名字。
3.停止SQL Server
4.把老数据库的MDF文件(kmjxc_pro_data.mdf)替换新数据库的相应的MDF文件,
并把LDF文件(kmjxc_pro_log.ldf)删除。
5.重新启动SQL Server服务,然后运行如下命令:
Use Master
go
sp_configure 'allow updates', 1
reconfigure with override
go
begin tran
update sysdatabases set status = 32768 where name = 'kmjxc_pro'
--Verify one row is updated before committing
commit tran
go

6.(更换日志文件路径地址):
use master
go
DBCC TRACEON(3604)
DBCC REBUILD_LOG('kmjxc_pro','d:\kmdata\kmjxc_pro_log.ldf')--在这里,请输入你的数据库的路径
Go
 
7.停止SQL然后重新启动SQL Server服务,然后运行:
use master
go
update sysdatabases set status = 8 where name = 'kmjxc_pro'
go
sp_configure 'allow updates', 0
reconfigure with override
go
 
8.运行dbcc checkdb(db_name) 检查数据库的完整性
9.修复数库
--请在查询分析器中执行下列语句.执行前断开其它
所有数据库连接,最好是断开网线
--如果不是该数据库名,请将数据库
--kmjxc_pro
--改为要修复的数据库
USE master
Go
EXEC sp_dboption 'kmjxc_pro', 'single user', 'TRUE'    --单用户模式
go
--数据库检查
DBCC CHECKDB ('kmjxc_pro')
Go
--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复
--数据库修复
DBCC CHECKDB ('kmjxc_pro','repair_rebuild')
Go
--再次数据库检查,如果返回结果中没有了红色的提示文字,
说明修复成功;
DBCC CHECKDB ('kmjxc_pro')
Go
--否则意味着还需要更高级别的修复;尝试将上面修复语句的
DBCC CHECKDB ('kmjxc_pro','repair_allow_data_loss')
之后再次检查数据库。
--如果还有错误未修复,请把这些信息以文字的方式发给我们
 
退出前请一定要执行以下语句返回到多用户模式
EXEC sp_dboption 'kmjxc_pro', 'single user','FALSE'    --多用户模式
go
 

单独修复表
print object_name(1271675578)                             -------查询错误ID的表名
select * from sysindexes where id='2'
dbcc  checktable ('pos_t_daysum',repair_allow_data_loss)  -------修复表
dbcc checktable ('bi_t_item_info',repair_fast)            -------修复表索引
dbcc checktable ('bi_t_item_info',repair_rebuild)         -------修复表索引
dbcc checktable (bi_t_item_info)                          -------检查表
DBCC CHECKALLOC(' database_name '[ , NOINDEX|{ REPAIR_ALLOW_DATA_LOSS| REPAIR_FAST} ])     [ WITH { [ ALL_ERRORMSGS | NO_INFOMSGS ][ , [ TABLOCK ] ][ [ ESTIMATEONLY ] ]}]