Sql-Server

SQL Server 修復刪除的 mdf

  • July 23, 2022

我有一個數據庫,我的索引位於單獨的文件組和空間 (SSD) 中。包含索引的 SSD 發生故障,我在表上的實際數據是安全的,但由於 SSD 發生故障,我的數據庫處於恢復掛起模式。

我想擺脫 SSD 上的那些文件組並在另一個空間上創建一個新文件組,然後在其上創建我的​​索引,但由於恢復掛起模式,我無法做任何事情。

我已經完成了這些解決方案:

  • 緊急模式,使文件組離線,使數據庫聯機
  • 從完全備份(我的備份是一個月前)進行部分恢復,這不起作用,數據庫保持在恢復模式
  • 將已刪除的 mdf 從備份粘貼到其位置,但數據庫仍處於恢復掛起模式
  • 分離數據庫並附加其目前文件組以及從備份中刪除的文件組,這不起作用,因為刪除的文件組來自另一個數據庫並且 SQL Server 不接受

我不知道該怎麼辦了,我有兩個選擇:

  1. 使已刪除的文件組離線,創建新的文件組並使用新名稱創建我的索引。這確實不是一種永久的方式,因為我的數據庫中有一些不干淨的已刪除文件組,但它幫助我恢復線上。
  2. 創建一個腳本來創建新數據庫、新文件組、新表並向其中插入目前數據、創建儲存過程、觸發器和索引以及……這很難編寫。

如果您有任何建議,我將不勝感激。

從儲存故障中恢復的正常過程是備份日誌尾部(如果可能),從上次完整備份恢復,恢復最近的差異備份(如果您這樣做),以及恢復後續日誌備份(包括尾巴)。

沒有(至少受支持)方法可以避免恢復單個文件組並最終得到一個健康的數據庫。

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