2024年5月8日发(作者:)
MSSQL数据库置疑的说明及修复方法
MSSQL 官方对suspect
(‘置疑’,SQL2005中文为‘可疑’)
状态的解释:“
至少主文件组可
疑或可能已损坏。在 SQL Server 启动过程中无法恢复数据库。数据库不可用。需要用户另外执行操作来解决
问题。”
SQL Server 数据库置疑通常由于以下几种情况导致:
1、 因SQL服务意外退出导致数据库置疑,例如突然断电导致数据库日志文件损坏,下次启动后数据库变
为置疑状态。
数据库文件所在的磁盘分区没有可用空间,导致恢复数据库的操作不能完成,数据库变为置疑状态。
数据库文件组已满,这种情况通常发生在MSDE或SQL 2005 Express,因为它们对数据库文件限制了
大小,不超过2G或4G;当单个的数据库文件接近2G或4G很容易出现数据库置疑的情况;
另外,当数据库文件所在磁盘分区格式为FAT32时,也有可能出现这种情况,FAT32格式的磁盘分
区单个文件不能超过4G,当单个的数据库文件接近4G很容易出现数据库置疑的情况。
4、
5、
数据库文件设置为不自动增长,或设置为自动增长但限制了文件大小。
此外,其它非法的操作也有可能导致数据库置疑。
2、
3、
以下提供几种解决V3数据库置疑的办法:
解决客户那里出现数据库置疑通常使用第一或第二种方法,解决问题时请根据
实际情况处理
提示:按以下方法修复数据库后,还需要用户密切观察一下V3服务器是否能正常运行、服务器是否
有出错;查看服务器是否有出错可以右击服务管理器-‘工具’-‘日志’,在弹出的事件日志窗口
中,查看应用程序日志中是否有OSERVER3的错误信息;如果有出错信息可能会出现数据收集不完整
等问题,请即时联系我们解决。
问题一:SQL 2005 数据库置疑的解决方法
SQL SERVER 2005,数据库置疑,可以尝试通过以下办法解决:
--第一步:新建查询,执行以下SQL 语句;
USE master
GO
Achao_hupu 第 1 页 Created on 8/31/2008 11:43:00 AM
SP_CONFIGURE 'ALLOW UPDATE',1
GO
RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE OCULAR3 SET EMERGENCY --设置OCULAR3为紧急模式
GO
SP_DBOPTION 'OCULAR3','SINGLE USER', 'TRUE' --设置OCULAR3为单用户模式
GO
--第二步:继续执行以下SQL语句
DBCC CHECKDB('OCULAR3') --检查数据库的结构完整性,可能需要比较长时间
GO
--第三步:继续执行以下SQL语句
DBCC CHECKDB('OCULAR3','REPAIR_ALLOW_DATA_LOSS') --修复数据库,可能需要比较长时间;执行到
这一步,如果提示需要在单用户模式下运行,那么可以重启一下SQL SERVER服务再执行;
GO
--第四步:
SP_DBOPTION 'OCULAR3','SINGLE USER', 'FALSE' --设置OCULAR3为多用户模式
GO
ALTER DATABASE OCULAR3 SET ONLINE --设置OCULAR3为正常模式
GO
SP_CONFIGURE 'ALLOW UPDATE',0
GO
RECONFIGURE WITH OVERRIDE
GO
--第五步:继续执行以下SQL语句
DBCC CHECKDB('OCULAR3') –再次检查数据库的结构完整性
GO
问题二:
SQL SERVER 2000,因为断电导致数据库被破坏而置疑,可以通过以下办法解决:
--第一步:新建查询,执行以下SQL 语句;
USE master
GO
SP_CONFIGURE 'ALLOW UPDATE',1
GO
RECONFIGURE WITH OVERRIDE
GO
--设置数据库为紧急模式
UPDATE sysdatabases SET status = 32768 WHERE name = 'OCULAR3'
GO
SP_DBOPTION 'OCULAR3','SINGLE USER', 'TRUE' --设置OCULAR3为单用用户模式
GO
--第二步:继续执行以下SQL语句
DBCC REBUILD_LOG('OCULAR3','d:ocular3_log_') --重建日志文件,
--通常重建的日志文件放在与其它数据库文件相同目录下。比如OCULRA3数据库文件是保存在D盘,日志文件为
ocular3_,现重建一日志文件为d:ocular3_log_
--第三步:继续执行以下SQL语句
DBCC CHECKDB('OCULAR3') --检查数据库的结构完整性
GO
--如果以上语句执行完成后,提示提示数据库有错误,则还需执行下面这两句:
Achao_hupu 第 2 页 Created on 8/31/2008 11:43:00 AM
发布评论