共用方式為


設定 SQL Server 受控備份至 Azure

本主題包含兩個教學課程:

在資料庫層級將 SQL Server 受控備份設定為Microsoft Azure、啟用電子郵件通知,以及監視備份活動。

將 SQL Server 受控備份設定為 Microsoft Azure 的實例層級,啟用電子郵件通知,並監視備份活動。

如需針對可用性群組將 SQL Server 受控備份設定為 Microsoft Azure 的教學課程,請參閱 針對可用性群組將 SQL Server 受控備份設定為 Microsoft Azure

將 SQL Server 受控備份設定為 Microsoft Azure

針對資料庫啟用和設定 SQL Server 受控備份以Microsoft Azure

本教學課程說明為資料庫啟用和設定 SQL Server 受控備份以Microsoft Azure 所需的步驟(TestDB),接著步驟可啟用監視 SQL Server 受控備份以Microsoft Azure 健康狀態。

許可權:

  • 需要具有ALTER ANY CREDENTIAL 許可權的資料庫角色db_backupoperator成員資格,以及EXECUTEsp_delete_backuphistory預存程式的許可權。

  • 需要 smart_admin.fn_get_current_xevent_settings函式的 SELECT 許可權。

  • EXECUTE需要 smart_admin.sp_get_backup_diagnostics 預存程序的許可權。 此外,它需要 VIEW SERVER STATE 許可權,因為它會在內部呼叫其他需要此許可權的系統物件。

  • 需要EXECUTEsmart_admin.sp_set_instance_backupsmart_admin.sp_backup_master_switch預存程序的許可權。

  1. 建立Microsoft Azure 記憶體帳戶: 備份會儲存在 Microsoft Azure 記憶體服務中。 如果您還沒有帳戶,您必須先建立Microsoft Azure 儲存器帳戶。

    • SQL Server 2014 使用分頁 Blob,這與區塊和附加 Blob 不同。 因此,您必須建立一般用途帳戶,而不是 Blob 帳戶。 如需詳細資訊,請參閱 關於 Azure 記憶體帳戶
    • 記下記憶體帳戶名稱和存取金鑰。 儲存體帳戶名稱和存取金鑰資訊可用來建立 SQL 認證。 SQL 認證可用來向記憶體帳戶進行驗證。
  2. 建立 SQL 認證: 使用記憶體帳戶的名稱作為身分識別和記憶體存取金鑰作為密碼來建立 SQL 認證。

  3. 確認 SQL Server Agent 服務已啟動且在執行中: 如果目前尚未執行 SQL Server Agent,請加以啟動。 把 SQL Server 受管理備份到 Microsoft Azure 需要 SQL Server Agent 執行於該實例上,以執行備份工作。 您可能需要將 SQL Server Agent 設定為自動執行,以確保備份作業定期執行。

  4. 決定保留期限: 決定備份檔案的保留期限。 保留期間是以天為單位指定,範圍從 1 到 30。

  5. 啟用並設定 SQL Server 至 Microsoft Azure 的受控備份: 啟動 SQL Server Management Studio,並連線到安裝資料庫的實例。 在您根據需求修改資料庫名稱、SQL 認證、保留期間和加密選項的值之後,從查詢視窗中執行下列語句:

    如需建立加密憑證的詳細資訊,請參閱建立加密備份中的建立備份憑證步驟。

    Use msdb;  
    GO  
    EXEC smart_admin.sp_set_db_backup   
                    @database_name='TestDB'   
                    ,@retention_days=30   
                    ,@credential_name='MyCredential'  
                    ,@encryption_algorithm ='AES_128'  
                    ,@encryptor_type= 'Certificate'  
                    ,@encryptor_name='MyBackupCert'  
                    ,@enable_backup=1;  
    GO  
    
    

    您指定的資料庫現在已啟用 SQL Server 管理備份至 Microsoft Azure。 資料庫上的備份作業可能需要 15 分鐘才會開始執行。

  6. 檢閱擴充事件預設組態: 執行下列 transact-SQL 語句,以檢閱擴充事件設定。

    SELECT * FROM smart_admin.fn_get_current_xevent_settings()  
    

    你應該看到預設情況下 Admin、Operational 和 Analytical 頻道事件已啟用,且無法停用。 這應該足以監視需要手動介入的事件。 您可以啟用偵錯事件,但偵錯通道包含 SQL Server 受控備份Microsoft Azure 用來偵測問題並加以解決的資訊和偵錯事件。 如需詳細資訊,請參閱 監視 SQL Server 管理備份至 Microsoft Azure(Managed Backup to Microsoft Azure)

  7. 啟用及設定健康狀態的通知: SQL Server Managed Backup to Microsoft Azure 具有預存程式,可建立代理作業,傳送可能需要注意的錯誤或警告的電子郵件通知。 下列步驟描述啟用及設定電子郵件通知的程序:

    1. 如果執行個體尚未啟用 Database Mail,請進行設定。 如需詳細資訊,請參閱< Configure Database Mail>。

    2. 設定 SQL Server Agent 通知以使用 Database Mail。 如需詳細資訊,請參閱 Configure SQL Server Agent Mail to Use Database Mail

    3. 啟用電子郵件通知接收備份錯誤和警告: 從 [查詢] 視窗中,執行下列 Transact-SQL 陳述式:

      EXEC msdb.smart_admin.sp_set_parameter  
      @parameter_name = 'SSMBackup2WANotificationEmailIds',  
      @parameter_value = '<email1;email2>'  
      
      

      如需詳細資訊及完整的範例腳本,請參閱 監視 SQL Server 受控備份至 Microsoft Azure

  8. 在 Microsoft Azure 記憶體帳戶中檢視備份檔: 從 SQL Server Management Studio 或 Azure 管理入口網站連線到記憶體帳戶。 您會看到一個容器,其中的 SQL Server 實例裝載了您配置為使用 SQL Server 受控備份至 Microsoft Azure 的資料庫。 您也可以在啟用 SQL Server 受控備份到 Microsoft Azure 後的 15 分鐘內,看到資料庫和日誌備份。

  9. 監視健全狀態:您可以透過先前設定的電子郵件通知進行監視,或主動監視記錄的事件。 以下是用於檢視事件的一些 Transact-SQL 陳述式範例:

    --  view all admin events  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    DECLARE @eventresult TABLE  
    (event_type nvarchar(512),  
    event nvarchar (512),  
    timestamp datetime  
    )  
    
    INSERT INTO @eventresult  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek  
    
    SELECT * from @eventresult  
    WHERE event_type LIKE '%admin%'  
    
    
    -- to enable debug events  
    Use msdb;  
    Go  
             EXEC smart_admin.sp_set_parameter 'FileRetentionDebugXevent', 'True'  
    
    
    --  View all events in the current week  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek;  
    
    

本節所述的步驟特別適用於在資料庫上第一次將 SQL Server 受控備份設定為Microsoft Azure。 您可以使用與 smart_admin.sp_set_db_backup 相同的系統預存程式來修改現有的組態,並提供新的值。 如需詳細資訊,請參閱 SQL Server Managed Backup to Microsoft Azure - 保留和記憶體設定

啟用 SQL Server 受控備份至 Microsoft Azure,並使用預設設定來管理實例的備份。

本教學課程說明針對 SQL Server 受控備份至 Microsoft Azure 的『MyInstance』實例進行啟用和設定的步驟。 其中包含啟用監視 SQL Server 受控備份以Microsoft Azure 健康狀態的步驟。

許可權:

  • 需要 db_backupoperator 資料庫角色成員資格,並具有 ALTER ANY CREDENTIAL 許可權,以及對 sp_delete_backuphistory 預存程式的許可權。

  • 需要 smart_admin.fn_get_current_xevent_settings函式的 SELECT 許可權。

  • EXECUTE需要取得 smart_admin.sp_get_backup_diagnostics 預存程序的許可權。 此外,它需要 VIEW SERVER STATE 許可權,因為它會在內部呼叫其他需要此許可權的系統物件。

  1. 建立Microsoft Azure 記憶體帳戶: 備份會儲存在 Microsoft Azure 記憶體服務中。 如果您還沒有帳戶,您必須先建立Microsoft Azure 儲存器帳戶。

    • SQL Server 2014 使用頁面 Blob,這與區塊和附加 Blob 不同。 因此,您必須建立一般用途帳戶,而不是 Blob 帳戶。 如需詳細資訊,請參閱 關於 Azure 記憶體帳戶
    • 記下記憶體帳戶名稱和存取金鑰。 儲存體帳戶名稱和存取金鑰資訊可用來建立 SQL 認證。 SQL 認證可用來向記憶體帳戶進行驗證。
  2. 建立 SQL 認證: 使用記憶體帳戶的名稱作為身分識別和記憶體存取金鑰作為密碼來建立 SQL 認證。

  3. 確認 SQL Server Agent 服務已啟動且在執行中: 如果目前尚未執行 SQL Server Agent,請加以啟動。 SQL Server 在 Microsoft Azure 進行受控備份需要 SQL Server Agent 在執行個體上運行,以便執行備份操作。 您可能需要將 SQL Server Agent 設定為自動執行,以確保備份作業定期執行。

  4. 決定保留期限: 決定備份檔案的保留期限。 保留期間是以天為單位指定,範圍從 1 到 30。 一旦 SQL Server 受控備份到Microsoft Azure 在實例層級啟用,之後建立的所有新資料庫都會繼承設定的預設值。 只有設定為完整或大容量日誌恢復模式的資料庫才能受到支援,並且會自動配置。 如果您不想讓 SQL Server 受管理的備份到 Microsoft Azure 進行設定,您可以隨時停用特定資料庫的 SQL Server 受管理的備份到 Microsoft Azure。 您也可以將 SQL Server 受控備份設定為資料庫層級Microsoft Azure,來變更特定資料庫的組態。

  5. 啟用並設定 SQL Server 管理的備份至 Microsoft Azure: 啟動 SQL Server Management Studio 並連線到 SQL Server 執行個體。 在您根據需求修改資料庫名稱、SQL 認證、保留期限和加密選項之後,從查詢視窗中執行下列語句:

    如需建立加密憑證的詳細資訊,請參閱建立加密備份中的建立備份憑證步驟。

    Use msdb;  
    Go  
       EXEC smart_admin.sp_set_instance_backup  
                     @enable_backup=1  
                    ,@retention_days=30   
                    ,@credential_name='sqlbackuptoURL'  
                    ,@encryption_algorithm ='AES_128'  
                    ,@encryptor_type= 'Certificate'  
                    ,@encryptor_name='MyBackupCert';  
    GO  
    
    

    SQL Server 受控備份至 Microsoft Azure 現在已在 實例上啟用。

  6. 執行下列 Transact-SQL 語句來確認組態設定:

    Use msdb;  
    GO  
    SELECT * FROM smart_admin.fn_backup_instance_config ();  
    
    
  7. 在實例上建立新的資料庫。 執行下列 Transact-SQL 命令來檢視 SQL Server 受管理備份至 Microsoft Azure 的資料庫組態設定:

    Use msdb  
    GO  
    SELECT * FROM smart_admin.fn_backup_db_config('NewDB')  
    

    設定可能需要 15 分鐘才能顯示,並且備份作業才會在資料庫上開始執行。

  8. 啟用及設定健康狀態通知: SQL Server Managed Backup to Microsoft Azure 具有預存程式,可建立代理工作,以傳送可能需要注意之錯誤或警告的電子郵件通知。 若要接收這類通知,您必須啟用建立 SQL Server Agent 作業的預存程式。 下列步驟描述啟用及設定電子郵件通知的程序:

    1. 如果執行個體尚未啟用 Database Mail,請進行設定。 如需詳細資訊,請參閱< Configure Database Mail>。

    2. 設定 SQL Server Agent 通知以使用 Database Mail。 如需詳細資訊,請參閱 Configure SQL Server Agent Mail to Use Database Mail

    3. 啟用電子郵件通知接收備份錯誤和警告: 從 [查詢] 視窗中,執行下列 Transact-SQL 陳述式:

      EXEC msdb.smart_admin.sp_set_parameter  
      @parameter_name = 'SSMBackup2WANotificationEmailIds',  
      @parameter_value = '<email address>'  
      
      

      如需如何監視的詳細資訊,以及完整的範例腳本,請參閱 監視 SQL Server Managed Backup to Microsoft Azure

  9. 在 Microsoft Azure 記憶體帳戶中檢視備份檔: 從 SQL Server Management Studio 或 Azure 管理入口網站連線到記憶體帳戶。 您將看到一個容器,其中的 SQL Server 實例承載了您配置為使用 SQL Server 受控備份到 Microsoft Azure 的資料庫。 您也可以在建立新資料庫后的 15 分鐘內看到資料庫和記錄備份。

  10. 監視健全狀態:您可以透過先前設定的電子郵件通知進行監視,或主動監視記錄的事件。 以下是用於檢視事件的一些 Transact-SQL 陳述式範例:

    --  view all admin events  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    DECLARE @eventresult TABLE  
    (event_type nvarchar(512),  
    event nvarchar (512),  
    timestamp datetime  
    )  
    
    INSERT INTO @eventresult  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek  
    
    SELECT * from @eventresult  
    WHERE event_type LIKE '%admin%'  
    
    
    --  to enable debug events  
    Use msdb;  
    Go  
             EXEC smart_admin.sp_set_parameter 'FileRetentionDebugXevent', 'True'  
    
    
    --  View all events in the current week  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek;  
    
    

根據預設設定,SQL Server 的受控備份至 Microsoft Azure 的設定可以在資料庫層級被特定覆寫,以便為特定資料庫進行設定。 您也可以暫時暫停並繼續 SQL Server 受控備份,以Microsoft Azure 服務。 如需詳細資訊,請參閱 SQL Server Managed Backup to Microsoft Azure - 保留和記憶體設定