一卡通数据库质疑解决方法
SQL Server数据库被置疑后的解决方法
新开普为例子:
最近老是由于网络病毒或者是客户异常关机造成我公司软件无法正常运行
例如:
一.造成此错误的原因一般是由于软件正常运行过程中,电脑异常关机作成的数据库引导文件被损坏(即一般来说accdb.log文件被破坏),设备激活错误。物理文件名 'd:\accdb.LDF' 可能有误。
二.解决过程(以accdb为例):
1.用软件setupdb.exe创建一个新库accdb
2.停掉SQL服务器。
3.删除新数据库的accdb.log文件,将客户原来的accdb.mdf覆盖新创建的
accdb.mdf。
4.启动数据库服务器。数据库accdb的状态为“置疑”。
以下语句在查询分析器里运行
5.‘允许对系统目录直接修改’
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
update sysdatabases set status=-32768
where dbid=DB_ID('accdb')
6. ‘重建log,其中哪个路径根据客户那的实际情况自己更改。’
DBCC rebuild_log('accdb','D:\Program Files\Microsoft SQL Server\MSSQL\Data\accdb_log.ldf')
7. ‘设置数据库为正常状态’
sp_dboption 'ACCDB','dbo use only','false'
8.‘不允许对系统目录直接修改’
sp_configure 'allow updates',0
go
reconfigure with override
go
9. ‘DBCC检查’
(1) dbcc checkdb(accdb)
(2) sp_dboption 'accdb','single user','true'
(3) DBCC CHECKDB('accdb',REPAIR_ALLOW_DATA_LOSS)
(4) sp_dboption 'accdb','single user','false'
(如果单用户模式下才能执行用此语句,没有此种情况不执行)
use master
go
sp_dboption accdb,single,true
三.由于此错误引起的其他一系列问题,根据以前的经验自行解决。
至此,数据库修复完毕,如果真是客户自己造成的错误,别忘了收费。