Sql-Server
只能恢復損壞的數據庫的 PRIMARY 文件組嗎?
我有一個包含 2 個文件組的數據庫 (MyDatabase),
[PRIMARY]
並且[SECONDARY]
.文件組
[SECONDARY]
有 2 個數據文件,[DataFileA]
並且[DataFileB]
.
[DataFileA]
已損壞(即使在DBCC CHECKDB
處理之後)。我試圖解決它:
DBCC CHECKDB ([MyDatabase], REPAIR_ALLOW_DATA_LOSS)
但這沒有幫助。- 刪除損壞的數據文件
[DataFileA]
,沒有成功。
[PRIMARY]
文件組還可以。我可以只備份
[PRIMARY]
文件組並恢復它(使用新名稱)並從這個單個文件組創建一個新數據庫嗎?
由於數據庫是
ONLINE
,因此您有兩個主要選擇:
- 為文件組對象創建一個與舊數據庫具有相同架構的新
[PRIMARY]
數據庫,並使用任何可用工具(例如 SSIS、bcp、連結伺服器)傳輸數據。根據現有模式、約束和關係(例如外鍵)的複雜性,這可能非常耗時。- 僅對文件組進行部分備份。使用分段還原將
[PRIMARY]
其還原到新的數據庫和文件。最後,將文件組標記為 defunct。確保首先執行乾淨。您也應該像選項 1 一樣將架構和數據導出到安全的地方。如您所知,對您的寶貴數據進行測試備份是優先事項 #1 :)DBCC CHECKFILEGROUP
[PRIMARY]