【问题描述】 数据库文件存在异常状况,有可能是因为硬盘有坏区引起的。 附加数据库的时候,提示错误9004。
【解决方法】 假设数据库名称为:UFDATA_001_2023
请按顺序执行以下步骤: 1、将数据库的文件名:UFDATA_001_2023复制到别的位置留作备用; 2、新建数据库:UFDATA_001_2023; 3、关闭SQL SERVER服务; 4、删除新新建数据库中的UFDATA_001_2023.mdf文件,并将之前复制的UFDATA_001_2023文件拷贝回来; 5、启动SQL SERVER服务; 6、执行以下代码:
alter database UFDATA_001_2023 set EMERGENCY Go alter database UFDATA_001_2023 set single_user with rollback IMMEDIATE Go use master Go alter database UFDATA_001_2023 Rebuild Log on (name = UFDATA_001_2023_log, filename = 'C:\U8SOFT\Admin\UFDATA_001_2023_log.ldf') alTER database UFDATA_001_2023 set Multi_USER如果出现以下提示说已存在日志文件的话,找到日志文件UFDATA_001_2023_log.ldf并删除, 然后重新执行第6步 消息 5025,级别 16,状态 1,第 2 行 文件 ‘C:\U8SOFT\Admin\UFDATA_001_2023_log.ldf’ 已存在。 应该重命名或删除它,以便可以创建新的日志文件。 消息 5028,级别 16,状态 2,第 2 行 系统无法激活足够的数据库来重建日志。 7、执行以下代码:
ALTER database UFDATA_001_2023 set single_user with rollback IMMEDIATE Go dbcc checkdb(UFDATA_001_2023, REPAIR_ALLOW_DATA_LOSS) dbcc checkdb(UFDATA_001_2023, REPAIR_REBUILD) alter database UFDATA_001_2023 set Multi_USER8、重启数据库服务!