共用方式為


設定 SQL Server Managed Backup 到 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成員資格,以及 EXECUTE存程式sp_delete_backuphistory的許可權。

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

  • EXECUTE需要smart_admin.sp_get_backup_diagnostics預存程式的許可權。 除此之外,因為它會從內部呼叫其他需要此權限的系統物件,所以還需要 VIEW SERVER STATE 權限。

  • EXECUTE需要 和 smart_admin.sp_backup_master_switch 預存程式的許可權 smart_admin.sp_set_instance_backup

  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

  7. 啟用及設定健全狀態通知:SQL Server 受控備份至 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 受控備份至 Microsoft Azure 的資料庫SQL Server實例。 您也可以在啟用資料庫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受控備份至 Microsoft Azure - 保留和儲存體設定

針對具有預設設定的實例啟用SQL Server受控備份至 Microsoft Azure

本教學課程說明針對實例 'MyInstance',\,啟用和設定 microsoft Azure SQL Server受控備份的步驟。 其中包含啟用監視SQL Server受控備份至 Microsoft Azure 健康情況狀態的步驟。

權限:

  • 需要 具有ALTER ANY CREDENTIAL 許可權的資料庫角色db_backupoperator成員資格,以及 EXECUTE存程式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 受控備份至 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受控備份至 Microsoft Azure

  9. 檢視 Microsoft Azure 儲存體帳戶中的備份檔案: 從 SQL Server Management Studio 或 Azure 管理入口網站連接至儲存體帳戶。 您會看到容器,用於裝載您設定為使用 SQL Server 受控備份至 Microsoft Azure 的資料庫SQL Server實例。 您也會在建立新的資料庫之後的 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受控備份至 Microsoft Azure - 保留和儲存體設定