Sql-Server

只能恢復損壞的數據庫的 PRIMARY 文件組嗎?

  • May 3, 2015

我有一個包含 2 個文件組的數據庫 (MyDatabase),[PRIMARY]並且[SECONDARY].

文件組[SECONDARY]有 2 個數據文件,[DataFileA]並且[DataFileB].

[DataFileA]已損壞(即使在DBCC CHECKDB處理之後)。

我試圖解決它:

  1. DBCC CHECKDB ([MyDatabase], REPAIR_ALLOW_DATA_LOSS)但這沒有幫助。
  2. 刪除損壞的數據文件[DataFileA],沒有成功。

[PRIMARY]文件組還可以。

我可以只備份[PRIMARY]文件組並恢復它(使用新名稱)並從這個單個文件組創建一個新數據庫嗎?

由於數據庫是ONLINE,因此您有兩個主要選擇:

  1. 為文件組對象創建一個與舊數據庫具有相同架構的新[PRIMARY]數據庫,並使用任何可用工具(例如 SSIS、bcp、連結伺服器)傳輸數據。根據現有模式、約束和關係(例如外鍵)的複雜性,這可能非常耗時。
  2. 僅對文件組進行部分備份使用分段還原將[PRIMARY]其還原到新的數據庫和文件。最後,將文件組標記為 defunct。確保首先執行乾淨。您也應該像選項 1 一樣將架構和數據導出到安全的地方。如您所知,對您的寶貴數據進行測試備份是優先事項 #1 :)DBCC CHECKFILEGROUP[PRIMARY]

引用自:https://dba.stackexchange.com/questions/99260