Sql-Server

恢復總是失敗

  • November 2, 2016

我有一個帶有 ~900GB 備份數據庫的 SQL Server 2014 實例,該數據庫每週都會從完整備份中進行恢復過程。它所在的伺服器是 Windows Server 2012 R2。

我最近開始看到每個週末都無法恢復數據庫。

有 3 個備份文件被複製到備份站點,在星期六晚上 8 點左右生成,只需要大約一個小時,在午夜之前複製到該伺服器(通常每個文件需要 1-2 小時),然後從第二天早上六點。

我注意到其中一個備份文件的日期修改時間始終為 Sun 6:50,但其他兩個文件的日期修改時間為 Sat ~ 9pm。當嘗試恢復到開發伺服器以驗證備份媒體時,讀取該文件的備份設備標頭需要非常長的時間。

我一直並且現在仍在篩選Google結果,看看我是否也能找到答案,但到目前為止還沒有運氣。有沒有人對我應該檢查什麼或問題可能有什麼想法?

還原作業是通過 PowerShell 腳本呼叫的過程完成的。這是我上週日早上收到的電子郵件錯誤,例如:

發送時間: 2016 年 10 月 30 日 12:01 至: 電子郵件 主題: Server1 - 數據庫還原失敗

以下數據庫未在Server1上正確恢復- 請調查。

數據庫1

複製任務的日誌文件只顯示以下內容:

10/30/2016 00:07:35 複製與 database1_FULL.bak 匹配的數據庫

恢復任務的日誌文件顯示:

08:29:33從\ sharedfileserver \ folder1恢復database1 \ folder \ foildaapergroup1_database1_full_20161029_201228_1.bak 10/30/2016 08:29:33 08:29:33 08:29:33恢復數據庫2從\ sharedfileserver \ folder \ foldersgroup1_database2_full_20161029_201026_1.bak 10/30/2016 08:29 :33 5% 已處理。(一段時間過去了……) 2016 年 10 月 30 日 08:34:19 100% 已處理。2016 年 10 月 30 日 08:34:19 為文件 1 上的數據庫“Database2”、文件“DATABASE2”處理了 4946928 頁。2016 年 10 月 30 日 08:34:19 為數據庫“Database2”、文件“DATABASE2_log”處理了 21 頁在文件 1 上。2016 年 10 月 30 日 08:34:27 RESTORE DATABASE 在 303.526 秒(127.330 MB/秒)內成功處理了 4946949 個頁面。2016 年 10 月 30 日 08:34:27

10/30/2016 08:34:27 3013 - RESTORE DATABASE 異常終止。2016 年 10 月 30 日 08:34:27 -1 2016 年 10 月 30 日 08:34:27 完成。10/30/2016 08:34:28 執行完畢

注意:問題子項是 Database1。

我將使用以下命令驗證備份文件的完整性。

恢復 HEADERONLY

SQL BOL:返回一個結果集,其中包含特定備份設備上所有備份集的所有備份頭資訊。

RESTORE HEADERONLY FROM DISK ='\\sharedfileserver\folder\AvailabilityGroup1_Database1_FULL_20161029_201228_1.bak'

您可能會找到一些資訊,為什麼您的備份文件無法正常工作。

恢復文件列表

SQL BOL:返回一個結果集,其中包含備份集中包含的數據庫和日誌文件的列表。

RESTORE FILELISTONLY FROM DISK = '\\sharedfileserver\folder\AvailabilityGroup1_Database1_FULL_20161029_201228_1.bak'

在 SQL Server 2008 R2中,數據庫的邏輯文件名被截斷的情況很少見

您可能會在要還原到的伺服器的 ERRORLOG 中找到更多資訊。否則,我會考慮在查詢視窗中的計劃任務之外執行恢復腳本以擷取任何其他錯誤。

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