0

問題:分離和附加可疑模式數據庫

備份,我們與下面的消息服務器的一個被失敗:(備份通過的Netbackup拍攝)

Could not allocate space for object 'dbo.backupfile'.'PK__backupfi__57D1800AC4FFEEA3' 
in database 'msdb' because the 'PRIMARY' filegroup is full. Create disk space by deleting 
unneeded files, dropping objects in the filegroup, adding additional files to the 
filegroup, or setting autogrowth on for existing files in the filegroup.> 
    DBMS MSG - SQL Message <3009><[Microsoft][ODBC SQL Server Driver][SQL Server]Could not 
insert a backup or restore history/detail record in the msdb database. This may indicate a 
problem with the msdb database. 

在辦理入住手續,我可以看到確定msdb主數據文件所在的Mount Drive已滿(總大小:99GB,可用空間:0字節)。該驅動器沒有任何不需要的文件,我可以刪除並獲得一些簡單的磁盤空間。於是我環顧了Drive,發現一個數據庫日誌文件大小爲6GB,其中超過5.5GB是免費的。我認爲收縮會釋放驅動器中的相當一部分空間,並暫時解決問題。但是當我試圖在日誌文件中收縮時,我收到一條錯誤消息,說'它已被恢復標記爲可疑「。最怕的是,我刷新了Object Explorer和Bingo中的數據庫列表..!它就在那裏,標記爲「可疑」

回答

0

解決方案:

我檢查了其他驅動器在服務器中,發現一個充足的自由空間。所以我的下一個嘗試是分離數據庫(如'XYZ'),將其日誌文件移動到其他驅動器,然後附加它。這將釋放驅動器中足夠的空間,並且還會讓數據庫從可疑模式恢復。所以我試圖分離數據庫,但它沒有奏效。

Cannot detach a suspect database. It must be repaired or dropped. Cannot be opened as the DB is in Suspect mode 

於是,我把它帶到單用戶模式: 執行腳本把DB到單用戶模式

USE master; 
GO 
ALTER DATABASE [XYZ] 
SET SINGLE_USER 
WITH ROLLBACK IMMEDIATE; 
GO 

將數據庫設置爲脫機狀態。

-- Take the Database Offline 
ALTER DATABASE [XYZ] SET OFFLINE WITH 
ROLLBACK IMMEDIATE 
GO 

現在我能夠成功地分離數據庫。分離後,我將日誌文件複製到有足夠可用空間的其他驅動器。然後我試圖將數據庫附加回來。但在安裝,它給了以下錯誤信息:

Error: 5123 CREATE FILE encountered operating system error 5A(Access denied.) 

要解決這個問題,以下是我做的步驟:

  1. 右鍵單擊.mdf文件 - >屬性
  2. 下按'繼續',按繼續
  3. 點擊'添加'將您添加到'羣組或用戶名'中
  4. 爲您提供登錄彈出窗口中的名稱,'檢查名稱'和'確定'
  5. 添加您的登錄信息後,單擊它並在下面的框(用戶權限)中選中允許用戶完全控制。檢查'完全控制'是非常重要的,因爲默認情況下,用戶將只具有「讀取」和「讀取&執行」權限。如果您嘗試使用這些默認權限進行連接,您將再次遇到拒絕訪問錯誤。

在此之後,我能夠成功地附加數據庫,並且它的狀態被發現是'正常'。

希望這會幫助某人:)