本主題包含兩個教學課程:
在資料庫層級設定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
。
建立 Microsoft Azure 儲存體帳戶: 備份會儲存在 Microsoft Azure 儲存體服務中。 如果您還沒有帳戶,您必須先建立 Microsoft Azure 儲存體帳戶。
- SQL Server 2014 使用分頁 Blob,與區塊和附加 Blob 不同。 因此,您必須建立一般用途帳戶,而不是 Blob 帳戶。 如需詳細資訊,請參閱關於 Azure 儲存體帳戶。
- 記下儲存體帳戶名稱和存取金鑰。 儲存體帳戶名稱和存取金鑰資訊可用來建立 SQL 認證。 SQL 認證會用來驗證儲存體帳戶。
建立 SQL 認證: 使用儲存體帳戶的名稱作為身分識別和儲存體存取金鑰作為密碼,建立 SQL 認證。
確認 SQL Server Agent 服務已啟動且在執行中: 如果目前尚未執行 SQL Server Agent,請加以啟動。 SQL Server 受控備份至 Microsoft Azure 需要在執行個體上執行 SQL Server Agent,才能執行備份作業。 您可能需要將 SQL Server Agent 設定為自動執行,以確保備份作業定期執行。
決定保留期限: 決定備份檔案的保留期限。 保留週期的指定單位為天,範圍從 1 到 30。
啟用並設定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 分鐘才會開始執行。
檢閱延伸事件預設設定: 執行下列 Transact-SQL 陳述式,以檢閱擴充事件設定。
SELECT * FROM smart_admin.fn_get_current_xevent_settings()
預設會顯示已經啟用 Admin、Operational 和 Analytical 通道事件,且無法予以停用。 這應該足以監視需要手動介入的事件。 您可以啟用偵錯事件,不過偵錯通道包含 SQL Server 受控備份至 Microsoft Azure 用來偵測及解決問題的資訊和偵錯事件。 如需詳細資訊,請參閱監視SQL Server受控備份至 Microsoft Azure。
啟用及設定健全狀態通知:SQL Server 受控備份至 Microsoft Azure 的預存程序會建立代理程式作業,以針對可能需要注意的錯誤或警告傳送電子郵件通知。 下列步驟描述啟用及設定電子郵件通知的程序:
如果執行個體上尚未啟用,請設定 Database Mail。 如需詳細資訊,請參閱< Configure Database Mail>。
設定 SQL Server Agent 通知使用 Database Mail。 如需詳細資訊,請參閱 Configure SQL Server Agent Mail to Use Database Mail。
啟用電子郵件通知接收備份錯誤和警告: 從 [查詢] 視窗中,執行下列 Transact-SQL 陳述式:
EXEC msdb.smart_admin.sp_set_parameter @parameter_name = 'SSMBackup2WANotificationEmailIds', @parameter_value = '<email1;email2>'
如需詳細資訊,以及完整的範例腳本,請參閱監視SQL Server受控備份至 Microsoft Azure。
檢視 Microsoft Azure 儲存體帳戶中的備份檔案: 從 SQL Server Management Studio 或 Azure 管理入口網站連接至儲存體帳戶。 您會看到容器,用於裝載您設定為使用 SQL Server 受控備份至 Microsoft Azure 的資料庫SQL Server實例。 您也可以在啟用資料庫SQL Server受控備份至 Microsoft Azure 的 15 分鐘內看到資料庫和記錄備份。
監視健全狀態:您可以透過先前設定的電子郵件通知進行監視,或主動監視記錄的事件。 以下是用於檢視事件的一些 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 - 保留和儲存體設定。
本教學課程說明針對實例 '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
權限。
建立 Microsoft Azure 儲存體帳戶: 備份會儲存在 Microsoft Azure 儲存體服務中。 如果您還沒有帳戶,您必須先建立 Microsoft Azure 儲存體帳戶。
- SQL Server 2014 使用分頁 Blob,與區塊和附加 Blob 不同。 因此,您必須建立一般用途帳戶,而不是 Blob 帳戶。 如需詳細資訊,請參閱關於 Azure 儲存體帳戶。
- 記下儲存體帳戶名稱和存取金鑰。 儲存體帳戶名稱和存取金鑰資訊可用來建立 SQL 認證。 SQL 認證會用來驗證儲存體帳戶。
建立 SQL 認證: 使用儲存體帳戶的名稱作為身分識別和儲存體存取金鑰作為密碼,建立 SQL 認證。
確認 SQL Server Agent 服務已啟動且在執行中: 如果目前尚未執行 SQL Server Agent,請加以啟動。 SQL Server 受控備份至 Microsoft Azure 需要在執行個體上執行 SQL Server Agent,才能執行備份作業。 您可能需要將 SQL Server Agent 設定為自動執行,以確保備份作業定期執行。
決定保留期限: 決定備份檔案的保留期限。 保留週期的指定單位為天,範圍從 1 到 30。 一旦SQL Server受控備份至 Microsoft Azure 在實例層級啟用,之後建立的所有新資料庫預設都會繼承設定。 僅支援設定為完整或大量記錄復原模式的資料庫,並且會自動設定。 如果您不想SQL Server受控備份至 Microsoft Azure,您可以隨時停用特定資料庫的 SQL Server受控備份至 Microsoft Azure。 您也可以在資料庫層級設定SQL Server受控備份至 Microsoft Azure,以變更特定資料庫的組態。
啟用並設定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 的受控備份。
執行下列 Transact-SQL 陳述式,以驗證組態設定:
Use msdb; GO SELECT * FROM smart_admin.fn_backup_instance_config ();
在執行個體上建立新的資料庫。 執行下列 Transact-SQL 語句,以檢視資料庫的 SQL Server 受控備份至 Microsoft Azure 組態設定:
Use msdb GO SELECT * FROM smart_admin.fn_backup_db_config('NewDB')
可能需要 15 分鐘才會顯示設定,並開始執行資料庫上的備份作業。
啟用及設定健全狀態通知:SQL Server 受控備份至 Microsoft Azure 的預存程序會建立代理程式作業,以針對可能需要注意的錯誤或警告傳送電子郵件通知。 若要接收這類通知,必須啟用 [執行預存程序],以建立 SQL Server Agent 工作。 下列步驟描述啟用及設定電子郵件通知的程序:
如果執行個體上尚未啟用,請設定 Database Mail。 如需詳細資訊,請參閱< Configure Database Mail>。
設定 SQL Server Agent 通知使用 Database Mail。 如需詳細資訊,請參閱 Configure SQL Server Agent Mail to Use Database Mail。
啟用電子郵件通知接收備份錯誤和警告: 從 [查詢] 視窗中,執行下列 Transact-SQL 陳述式:
EXEC msdb.smart_admin.sp_set_parameter @parameter_name = 'SSMBackup2WANotificationEmailIds', @parameter_value = '<email address>'
如需如何監視的詳細資訊,以及完整的範例腳本,請參閱監視SQL Server受控備份至 Microsoft Azure。
檢視 Microsoft Azure 儲存體帳戶中的備份檔案: 從 SQL Server Management Studio 或 Azure 管理入口網站連接至儲存體帳戶。 您會看到容器,用於裝載您設定為使用 SQL Server 受控備份至 Microsoft Azure 的資料庫SQL Server實例。 您也會在建立新的資料庫之後的 15 分鐘內,看到資料庫和記錄備份。
監視健全狀態:您可以透過先前設定的電子郵件通知進行監視,或主動監視記錄的事件。 以下是用於檢視事件的一些 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 - 保留和儲存體設定