我们平时在使用SQL Server时,可能会遇到以下情况:
1、数据库变为置疑状态
2、使用数据库文件恢复数据库时,附加的数据库显示为置疑状态
3、无法附加数据库
数据库置疑的原因:
- SQLServer所在分区空间是否够?数据库文件大小是否达到最大文件限制?FAT
的格式只支持四G以内的文件
2、数据库文件损坏或被非正常删除时出现这种情况
3、病毒防火墙的扫描也会引起数据库置疑
4、当SQLServer启动时,将会尝试获得对数据库文件的排他访问权,如果此时该文件被其他程序占用,或者遗失,数据库将会被标记为置疑。
5、电脑非法关机也会造成数据库置疑
6、电脑磁盘有坏道有可能造成数据库置疑
对于文件系统损坏或磁盘坏道造成的数据库置疑,可以使用以下方法进行修复,此方法可能会造成少量数据丢失(DB_NAME替换为实际的数据库名):
USE master
GO
SP_CONFIGURE 'ALLOW UPDATES',1
GO
RECONFIGURE WITH OVERRIDE
GO
--进入单用户模式
ALTER DATABASE DB_NAME SET SINGLE_USER
GO
--恢复为非紧急模式
ALTER DATABASE DB_NAME SET EMERGENCY
GO
--检查事务一致性
DBCC CHECKDB(‘DB_NAME’, REPAIR_ALLOW_DATA_LOSS)
GO
--恢复为非紧急模式
ALTER DATABASE DB_NAME SET ONLINE
GO
--恢复为多用户模式
ALTER DATABASE DB_NAME SET MULTI_USER
GO
不能成功附加数据库,可能是数据文件有损坏造成的,可使用以下方法进行恢复:
- 创建相同名称的数据库
- 停止SQL Server服务
- 使用原数据库的mdf和ldf文件替换新创建的数据库文件
- 启动SQL Server服务,进入SQL Server Management Studio查看,数据库会显示为置疑状态,然后按照前面提到的数据库置疑修复流程进行修复即可