Sql Server 2008 數據庫附加失敗提示9004錯誤解決辦法


附加數據庫 對於 服務器“WSS_Content”失敗。  (Microsoft.SqlServer.Smo)
執行 Transact-SQL 語句或批處理時發生了異常。 (Microsoft.SqlServer.ConnectionInfo)
處理數據庫 'WSS_Content' 的日志時出錯。如果可能,請從備份還原。如果沒有可用備份,可能需要重新生成日志。

無法打開新數據庫 'WSS_Content'。CREATE DATABASE 中止。 (Microsoft SQL Server,錯誤: 9004)

 

出錯的原因:

數據庫文件存在異常狀況,有可能是因為硬盤有壞區引起的

 

解決辦法:

假設數據庫名稱為:WSS_Content

請按順序執行以下步驟:

1、將數據庫的文件名:WSS_Content.mdf改名為WSS_Content_1.mdf;

2、新建數據庫:WSS_Content;

3、關閉SQL SERVER服務;

4、刪除WSS_Content.mdb,並將WSS_Content_1.mdf改名為WSS_Content.mdf;

5、啟動SQL SERVER服務;

6、執行以下代碼:

 

alter database WSS_Content set EMERGENCY  
Go  
  
alter database WSS_Content set single_user with rollback IMMEDIATE  
Go  
  
use master  
Go  
  
alter database WSS_Content Rebuild Log on (name = WSS_Content_log, filename = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WSS_Content_log.ldf')  
  
alTER database WSS_Content set Multi_USER  

 
如果出現以下提示說已存在日志文件的話,找到日志文件WSS_Content_log.ldf並刪除,然后重新執行第6步

 

消息 5025,級別 16,狀態 1,第 2 行 文件 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WSS_Content_log.ldf' 已存在。應該重命名或刪除它,以便可以創建新的日志文件。 消息 5028,級別 16,狀態 2,第 2 行 系統無法激活足夠的數據庫來重建日志。

7、執行以下代碼:

 

ALTER database WSS_Content set single_user with rollback IMMEDIATE  
Go  
  
dbcc checkdb(WSS_Content, REPAIR_ALLOW_DATA_LOSS)  
dbcc checkdb(WSS_Content, REPAIR_REBUILD)  
  
alter database WSS_Content set Multi_USER  

 

執行過程中可能會提示出錯信息等...
8、重新刷新數據庫,就可以!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM