Sql-Server

在 SQL Server 2016 中安排完整備份、差異備份和事務備份

  • November 14, 2019

我研究了使用 SQL Server 代理和維護計劃(導致 SQL Server 代理)安排備份。

我首先關心的是,安排備份的最佳方式是什麼?

我希望每天進行一次完整備份,每小時進行一次差異備份,每 15 分鐘進行一次事務日誌備份。

我的第二個擔心是,這是一個好習慣嗎?

我在使用 SQL Server 代理時發現了一個問題。我的完整備份和差異備份被覆蓋。我可以覆蓋完整備份,但不能覆蓋差異,因為當我需要恢復它時,我只會有一個差異備份,這不是差異備份的目的。

我怎樣才能不讓這個覆蓋以前的備份?

最後一個問題是關於如何實現備份調度。我將使用維護計劃,並可能安排三個不同的備份。一種是完整的,一種是差異化的,一種是跨國的。

這是使用者每天使用的數據庫的最佳實踐嗎?(每天至少 2000 筆交易)

添加到 Shekar Kola 的答案。

就我個人而言,我總是建議和使用自定義腳本而不是維護計劃,因為這些腳本更容易部署在多個伺服器上,並且更容易配置。

如果您要使用自定義腳本而不是維護計劃,請考慮使用 Ola Hallengren 腳本。 奧拉哈倫格倫網站

這些是一些令人驚奇的有據可查且經常使用的腳本,涵蓋了有關備份、索引維護和完整性檢查的所有內容。這些腳本得到了一些最好的 DBA 的推薦。

備份不會相互覆蓋,並且腳本會將日期添加到 .bak 文件中。

您唯一需要做的就是執行腳本,並自己添加一些計劃。如果您想要更多配置,請查看文件,如果您願意,您可以自己添加/更改很多內容。

更新:

每天備份系統數據庫可以嗎?

是的,這沒什麼錯。

差異使用者數據庫每 4 小時備份一次,日誌每 15 分鐘備份一次。

在工作時間做一個 diff 會給你的數據庫帶來很大的壓力,並且會極大地損害性能。通常這是不可接受的。同樣,取決於您的情況、備份需要多長時間、數據更改的頻率。

您認為這對於每天(大約)有 2000 個事務的數據庫來說足夠好了嗎?

備份的數量通常由業務決定。您應該查找 RTO 和 RPO SQLSkills RTO/RPO。您需要多少備份以及需要哪些備份與這些數字以及您可以使用的磁碟空間量有關。一個常用的計劃是,每週 1 個完整的,每天 1 個差異,每 10 - 15 分鐘備份一次日誌。但這當然取決於您的情況。

我確實有其他工作,例如“DatabaseIntegrityCheck - USER_DATABASES”、“IndexOptimize - USER_DATABASES”等。我也應該安排他們嗎?或者它們將自動與備份一起使用?

不,他們不會被備份解僱,他們是完全獨立的工作。但是,是的,您應該執行某種完整性檢查和索引維護。閱讀有關他們所做工作的文件。非常簡短:完整性檢查檢查您的數據是否損壞,IndexOptimize 將檢查您的索引是否存在碎片。

但作為一個初學者,只要確保你進行了備份,沒有完美地安排備份比根本沒有備份更重要。

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