Sql-Server

兩個備份程序,diff 和 log out of sync

  • December 15, 2020

我在 SQL Server 2017 上執行加密備份。

進行測試還原,它失敗了:

RESTORE DATABASE [test] 
FROM DISK = N'\\DPH-DD-SLI-001\SLI_SQL_Backups\Encrypted\DPH-SQL-SLI-12P\BTBLEAD\FULL\DPH-SQL-SLI-12P_BTBLEAD_FULL_20201021_185145.bak' 
WITH NORECOVERY, REPLACE; 

RESTORE DATABASE [test] 
FROM DISK = N'\\DPH-DD-SLI-001\SLI_SQL_Backups\Encrypted\DPH-SQL-SLI-12P\BTBLEAD\DIFF\DPH-SQL-SLI-12P_BTBLEAD_DIFF_20201022_071002.bak' 
WITH NORECOVERY; 
Processed 199264 pages for database 'test', file 'BTBLEAD_Data' on file 1.
Processed 2 pages for database 'test', file 'BTBLEAD_Log' on file 1.
RESTORE DATABASE successfully processed 199266 pages in 446.348 seconds (3.487 MB/sec).
Msg 3136, Level 16, State 1, Line 6 This differential backup cannot be restored
because the database has not been restored to the correct earlier state.
Msg 3013, Level 16, State 1, Line 6 RESTORE DATABASE is terminating abnormally.

它執行完美,直到他們安裝了 Commvault 雲備份。

我發現如果 Commvault 備份啟動,我無法再恢復 Commvault 啟動的時間點之後的本地本地備份!

顯然,SQL Server 會在每次備份時重置 LSN,但不知道有兩個不同的程序正在執行。當 Commvault 啟動時,LSN 被提前,而我的本機備份不知道它

我喜歡擁有自己的本地備份,因為它比雲備份更快更快速地恢復,而不是等待另一個組為我從雲中進行恢復。

有沒有辦法讓備份分開?

另一個組管理 Commvault 備份。我是 SQL Server 的新手——我是一名 Oracle DBA。

差異備份附加到完整。如果您的其他備份工具需要完整,那麼如果沒有完整,您將無法恢復差異是正常的。

您不應同時使用 2 個不同的備份工具。如果您確實需要,那麼您可以檢查是否可以為 CommVault 中的備份指定“copy_only”選項(因此您的本機備份將仍然是“官方”備份)。

如果不可能,那麼您只能在您身邊做完整的(只有副本)。當然,如果數據庫很大,這意味著更大的備份和更長的恢復時間。

也許你應該從源頭上解決問題。在我看來,您真正需要的是 CommVault 允許從該工具執行恢復。

有沒有辦法讓備份分開?

假設 CommVault 也在進行日誌備份,並且無法配置為進行 COPY_ONLY 備份,那麼您將只能恢復 FULL 備份,而不能應用差異或日誌備份。

我是一名甲骨文 DBA)。這像 oracle 映像副本備份嗎?

不會。通常,完整備份會將備份完成時的 LSN 寫回數據庫,任何後續的 DIFFERENTIAL 備份將僅包含在該 LSN 之後更新的頁面。這稱為“重置差分基數”。而 COPY_ONLY 完整備份只是跳過這一步。

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