次の方法で共有


Azure への SQL Server マネージド バックアップの設定

このトピックには、次の 2 つのチュートリアルが含まれています。

データベース レベルで Microsoft Azure へのマネージド バックアップSQL Server設定し、電子メール通知を有効にして、バックアップ アクティビティを監視します。

インスタンス レベルで Microsoft Azure へのマネージド バックアップSQL Server設定し、電子メール通知を有効にして、バックアップ アクティビティを監視します。

可用性グループ用の Microsoft Azure へのマネージド バックアップSQL Server設定するチュートリアルについては、「可用性グループ用の Microsoft Azure へのマネージド バックアップSQL Server設定する」を参照してください。

Microsoft Azure へのマネージド バックアップSQL Server設定する

データベースの Microsoft Azure へのマネージド バックアップSQL Server有効にして構成する

このチュートリアルでは、データベース (TestDB) に対して Microsoft Azure へのマネージド バックアップSQL Server有効にして構成するために必要な手順と、Microsoft Azure の正常性状態へのマネージド バックアップSQL Server監視を有効にする手順について説明します。

アクセス許可:

  • ALTER ANY CREDENTIAL 権限とストアド プロシージャに対するアクセス許可EXECUTEdb_backupoperatorデータベース ロールのメンバーシップsp_delete_backuphistory必要です。

  • smart_admin.fn_get_current_xevent_settings関数に対する SELECT 権限が必要です。

  • smart_admin.sp_get_backup_diagnostics ストアド プロシージャに対するアクセス許可が必要EXECUTEです。 さらに、VIEW SERVER STATE 権限も必要です (この権限を必要とする他のシステム オブジェクトを内部的に呼び出すため)。

  • および smart_admin.sp_backup_master_switch ストアド プロシージャに対するsmart_admin.sp_set_instance_backupアクセス許可が必要EXECUTEです。

  1. Microsoft Azure ストレージ アカウントを作成します。 バックアップは Microsoft Azure ストレージ サービスに格納されます。 アカウントをまだ持っていない場合は、まず Microsoft Azure ストレージ アカウントを作成する必要があります。

    • SQL Server 2014 では、ブロック BLOB と追加 BLOB とは異なるページ BLOB が使用されます。 そのため、BLOB アカウントではなく汎用アカウントを作成する必要があります。 詳細については、「Azure ストレージ アカウントについて」を参照してください。
    • ストレージ アカウント名およびアクセス キーをメモしておきます。 ストレージ アカウント名およびアクセス キー情報は、SQL 資格情報の作成に使用します。 SQL 資格情報は、ストレージ アカウントに対する認証に使用されます。
  2. SQL 資格情報を作成します。 ストレージ アカウントの名前を ID として、ストレージ アクセス キーをパスワードとして使用して SQL 資格情報を作成します。

  3. SQL Server エージェント サービスが開始され、実行されていることを確認する: SQL Server エージェントを開始します (現在実行されていない場合)。 Microsoft Azure への SQL Server マネージド バックアップ でバックアップ操作を実行するには、SQL Server エージェントがインスタンスで実行されている必要があります。 バックアップ操作を定期的に実行できるように、SQL Server エージェントの自動的な実行を設定できます。

  4. 保有期間を決定する: バックアップ ファイルに必要な保有期間を決定します。 保有期間は日数で指定し、その範囲は 1 ~ 30 になります。

  5. Microsoft Azure へのマネージド バックアップSQL Server有効にして構成する: 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  
    
    

    Microsoft Azure への SQL Server マネージド バックアップ は、指定したデータベースで有効になります。 データベースでのバックアップ操作の実行が開始されるまで最大 15 分かかる場合があります。

  6. 拡張イベントの既定の構成を確認する: 次の Transact-SQL ステートメントを実行して、拡張イベントの設定を確認します。

    SELECT * FROM smart_admin.fn_get_current_xevent_settings()  
    

    管理、運用、および分析のチャネル イベントは既定で有効になっていて、無効にできないことに注意してください。 手動の介入を必要とするイベントを監視するには、これで十分です。 デバッグ イベントを有効にすることはできますが、デバッグ チャネルには、 Microsoft Azure への SQL Server マネージド バックアップ が問題の検出および解決に使用する情報イベントとデバッグ イベントが含まれています。 詳細については、「Microsoft Azure へのマネージド バックアップSQL Server監視する」を参照してください。

  7. 正常性状態の通知を有効化し、構成する: Microsoft Azure への SQL Server マネージド バックアップMicrosoft Azure への SQL Server マネージド バックアップには、注意を要するエラーまたは警告の電子メール通知を送信するためにエージェント ジョブを作成するストアド プロシージャがあります。 次の手順では、電子メール通知を有効にして構成するためのプロセスを示します。

    1. データベース メールがインスタンス上でまだ有効になっていない場合は設定します。 詳細については、「 Configure Database Mail」を参照してください。

    2. データベース メールを使用するように SQL Server エージェント通知を構成します。 詳細については、「 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>'  
      
      

      詳細と完全なサンプル スクリプトについては、「Microsoft Azure へのマネージド バックアップSQL Server監視する」を参照してください。

  8. Microsoft Azure ストレージ アカウントでバックアップ ファイルを表示する: SQL Server Management Studio または Azure 管理ポータルから、ストレージ アカウントに接続します。 Microsoft Azure へのマネージド バックアップを使用するように構成したデータベースをホストするSQL ServerのインスタンスSQL Serverコンテナーが表示されます。 また、データベースに対して Microsoft Azure へのマネージド バックアップSQL Server有効にしてから 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;  
    
    

このセクションで説明した手順は、データベースで初めて Microsoft Azure への SQL Server マネージド バックアップ を構成するための特別な手順です。 同じシステム ストアド プロシージャ smart_admin.sp_set_db_backup を使用して既存の構成を変更し、新しい値を指定できます。 詳細については、「Microsoft Azure へのマネージド バックアップのSQL Server - 保持とストレージの設定」を参照してください

既定の設定でインスタンスSQL Server Microsoft Azure へのマネージド バックアップを有効にする

このチュートリアルでは、インスタンス 'MyInstance' SQL Server Microsoft Azure へのマネージド バックアップを有効にして構成する手順について説明します。 これには、Microsoft Azure の正常性状態へのSQL Serverマネージド バックアップの監視を有効にする手順が含まれています。

アクセス許可:

  • ALTER ANY CREDENTIAL 権限とストアド プロシージャに対するアクセス許可EXECUTEdb_backupoperatorデータベース ロールのメンバーシップsp_delete_backuphistory必要です。

  • smart_admin.fn_get_current_xevent_settings関数に対する SELECT 権限が必要です。

  • smart_admin.sp_get_backup_diagnostics ストアド プロシージャに対するアクセス許可が必要EXECUTEです。 さらに、VIEW SERVER STATE 権限も必要です (この権限を必要とする他のシステム オブジェクトを内部的に呼び出すため)。

  1. Microsoft Azure ストレージ アカウントを作成します。 バックアップは Microsoft Azure ストレージ サービスに格納されます。 アカウントをまだ持っていない場合は、まず Microsoft Azure ストレージ アカウントを作成する必要があります。

    • SQL Server 2014 では、ブロック BLOB と追加 BLOB とは異なるページ BLOB が使用されます。 そのため、BLOB アカウントではなく汎用アカウントを作成する必要があります。 詳細については、「Azure ストレージ アカウントについて」を参照してください。
    • ストレージ アカウント名およびアクセス キーをメモしておきます。 ストレージ アカウント名およびアクセス キー情報は、SQL 資格情報の作成に使用します。 SQL 資格情報は、ストレージ アカウントに対する認証に使用されます。
  2. SQL 資格情報を作成します。 ストレージ アカウントの名前を ID として、ストレージ アクセス キーをパスワードとして使用して SQL 資格情報を作成します。

  3. SQL Server エージェント サービスが開始され、実行されていることを確認する: SQL Server エージェントを開始します (現在実行されていない場合)。 Microsoft Azure への SQL Server マネージド バックアップ でバックアップ操作を実行するには、SQL Server エージェントがインスタンスで実行されている必要があります。 バックアップ操作を定期的に実行できるように、SQL Server エージェントの自動的な実行を設定できます。

  4. 保有期間を決定する: バックアップ ファイルに必要な保有期間を決定します。 保有期間は日数で指定し、その範囲は 1 ~ 30 になります。 Microsoft Azure へのマネージド バックアップSQL Serverがインスタンス レベルで有効になると、その後に作成されたすべての新しいデータベースが既定で設定を継承します。 完全または一括ログ復旧モデルに設定されているデータベースのみがサポートされており、自動的に構成されます。 Microsoft Azure へのマネージド バックアップSQL Server構成したくない場合は、特定のデータベースの Microsoft Azure へのマネージド バックアップSQL Serverいつでも無効にすることができます。 また、データベース レベルで Microsoft Azure にマネージド バックアップSQL Server構成することで、特定のデータベースの構成を変更することもできます。

  5. Microsoft Azure へのマネージド バックアップSQL Server有効にして構成する: 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 ステートメントを実行して、データベースの Microsoft Azure へのマネージド バックアップSQL Server構成設定を表示します。

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

    設定が表示され、データベースでのバックアップ操作の実行が開始されるまで最大 15 分かかる場合があります。

  8. 正常性状態の通知を有効化し、構成する: Microsoft Azure への SQL Server マネージド バックアップMicrosoft Azure への SQL Server マネージド バックアップには、注意を要するエラーまたは警告の電子メール通知を送信するためにエージェント ジョブを作成するストアド プロシージャがあります。 このような通知を受信するには、SQL Server エージェント ジョブを作成するストアド プロシージャの実行を有効にする必要があります。 次の手順では、電子メール通知を有効にして構成するためのプロセスを示します。

    1. データベース メールがインスタンス上でまだ有効になっていない場合は設定します。 詳細については、「 Configure Database Mail」を参照してください。

    2. データベース メールを使用するように SQL Server エージェント通知を構成します。 詳細については、「 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>'  
      
      

      監視方法と完全なサンプル スクリプトの詳細については、「Microsoft Azure へのマネージド バックアップSQL Server監視する」を参照してください。

  9. Microsoft Azure ストレージ アカウントでバックアップ ファイルを表示する: SQL Server Management Studio または Azure 管理ポータルから、ストレージ アカウントに接続します。 Microsoft Azure へのマネージド バックアップを使用するように構成したデータベースをホストするSQL Serverのインスタンス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 へのマネージド バックアップの既定の設定は、データベース レベルで特に設定を構成することで、特定のデータベースに対してオーバーライドできます。 Microsoft Azure サービスへのマネージド バックアップSQL Server一時的に一時停止および再開することもできます。 詳細については、「Microsoft Azure へのマネージド バックアップのSQL Server - 保持とストレージの設定」を参照してください。