[SQL]SQL Server 使用 AlwaysON 搭配維護計畫的資料庫備份設定

之前在 SQL Server 2012 的時候,當使用 AlwaysON 搭配維護計畫,如果要設定資料庫備份,總要特別去設定,目前新版本的方便很多了。

剛開始使用 SQL Server AlwaysON 的時候,在 SSMS 上使用維護計畫建立 AlwaysON 的資料庫備份,都要多加上許多的判斷,才有辦法正常備份( 此部分可以參考 SQL Server AlwaysON 環境的備份方式 ),而最近在重新測試的時候,發覺搭配 SSMS 新的版本和 SQL Server 2016,資料庫備份就容易很多了。

在我測試的 Lab 環境,可用性群組的屬性在「備份喜好設定」內,預設是採用「慣用次要

當我們透過「維護計畫」去建立備份工作的時候,下方會有一個警告訊息

假設您不管他,把維護計畫儲存起來之後,那我們先使用在 Primary 那台上面的 SQL Agent 來測試看看執行的狀況

當執行之後,我們可以在 SQL Agent 的紀錄裡面看到有執行成功

但我們實際到目錄下,卻會發生沒有任何備份檔案的狀況 ?! 所以看起來維護計畫內有判斷,並沒有在 Primary 上實際去執行備份

那這樣我們將這個備份給移到 Secondary 上面來進行,是否就真的可以進行備份呢 ?

很不幸的,如同一開始在維護計畫上設定備份的警告訊息,沒有辦法直接在 Secondary 來進行備份。

而從 SQL Agent 中的錯誤訊息看起來,維護計畫有真的去執行備份,只是不能在 Secondary 下直接這樣下備份指令。知道原因之後,那我們該怎麼來進行備份呢 ?

其實解法真的不難,只要在維護計畫的備份資料庫內多一個小步驟,選擇「選項」→「只複製備份」,將選項記得勾選起來

此時我們再手動進行測試一下,看起來執行就沒有錯誤了

而且到目錄下面,就可以看到有資料庫的備份檔案了。

因此看起來只要設定正確,還是可以直接使用維護計畫來備份我們的資料庫,不用自己全部苦工去寫 Script 去做判斷,SQL Server 的維護計畫都可以很貼心的幫你完成了。