查看: 31|回覆: 0

[MSSQL] Sql Server 2008 数据库附加错误:9004问题解决方案

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-8-4
發表於 2023-7-26 15:20:21 | 顯示全部樓層 |閲讀模式

【问题描述】

数据库文件存在异常状况,有可能是因为硬盘有坏区引起的。附加数据库的时候,提示错误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_USER  

8、重启数据库服务!

回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部