次の方法で共有


Azure への SQL Server マネージド バックアップ - 保有期間とストレージの設定

このトピックでは、データベースの Microsoft Azure へのマネージド バックアップSQL Server構成し、インスタンスの既定の設定を構成する基本的な手順について説明します。 このトピックでは、インスタンスの Microsoft Azure サービスへのマネージド バックアップSQL Server一時停止および再開するために必要な手順についても説明します。

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

はじめに

制限事項と制約事項

  • 現在メンテナンス プランまたはログ配布を使用しているデータベースでは、Microsoft Azure へのマネージド バックアップSQL Server有効にしないでください。 その他のSQL Server機能との相互運用性と共存の詳細については、「Azure へのマネージド バックアップ: 相互運用性と共存SQL Server」を参照してください。

前提条件

  • SQL Server エージェントを実行している必要があります。

    警告

    SQL Server エージェントが一定期間停止された後に再起動された場合、SQL エージェントの停止から起動までの経過時間によっては、バックアップ アクティビティが増加する可能性があり、実行を待機しているログ バックアップのバックログが存在することがあります。 起動時に SQL Server エージェントが自動的に開始されるように構成することを検討してください。

  • Azure ストレージ アカウントと、ストレージ アカウントに認証情報を格納する SQL 資格情報の両方を作成してから、Microsoft Azure へのマネージド バックアップSQL Server構成する必要があります。 詳細については、「 SQL Server Backup to URL 」の「 Introduction to Key Components and Concepts 」のセクション、および「 Lesson 2: Create a SQL Server Credential」を参照してください。

    重要

    Microsoft Azure へのマネージド バックアップSQL Server、バックアップを格納するために必要なコンテナーが作成されます。 コンテナー名は、'machine name-instance name' 形式を使用して作成されます。 AlwaysOn 可用性グループの場合、コンテナーの名前には、可用性グループの GUID が使用されます。

Security

アクセス許可

Microsoft Azure へのマネージド バックアップSQL Server有効にするストアド プロシージャを実行するには、ALTER ANY CREDENTIAL アクセス許可を持つ db_backupoperator データベース ロールの メンバーまたは メンバー、およびEXECUTEsp_delete_backuphistorysmart_admin.sp_backup_master_switchおよびストアド プロシージャに対するアクセス許可が必要System Administratorです。 既存の設定を確認するために使用するストアド プロシージャと関数には、通常、ストアド プロシージャに対する Execute 権限と、関数に対する Select 権限がそれぞれ必要です。

データベースとインスタンスの Microsoft Azure へのSQL Serverマネージド バックアップを有効にする際の考慮事項

SQL Server Microsoft Azure へのマネージド バックアップは、個別に、またはインスタンス全体で有効にすることができます。 選択肢は、インスタンス上のデータベースの回復性要件、複数のデータベースとインスタンスを管理するための要件、および Azure Storage を戦略的に使用するための要件によって異なります。

データベース レベルSQL Server Microsoft Azure へのマネージド バックアップを有効にする

データベースに、インスタンス上の他のデータベースとは異なるバックアップとリテンション期間 (回復性 SLA) の特定の要件がある場合は、このデータベースのデータベース レベルSQL Serverマネージド バックアップを Microsoft Azure に構成します。 データベース レベルの設定は、インスタンス レベルの構成設定をオーバーライドします。 ただし、これらのオプションは同じインスタンスで一緒に使用することができます。 データベース レベルで Microsoft Azure へのマネージド バックアップSQL Server有効にする場合の利点と考慮事項の一覧を次に示します。

  • より細かい設定: データベースごとに別々の構成設定。 個々のデータベースに対して異なる保有期間をサポートできます。

  • データベースのインスタンス レベルの設定をオーバーライドします。

  • バックアップするデータベースを個別に選択することで、ストレージ コストを削減できます。

  • 各データベースの管理が必要です。

既定の設定SQL Server使用したインスタンス レベルでの Microsoft Azure へのマネージド バックアップの有効化

インスタンス内のほとんどのデータベースでバックアップと保有ポリシーの要件が同じ場合、または新しいデータベース インスタンスが作成時に自動的にバックアップされるようにする場合は、この設定を使用します。 ポリシーの例外となる少数のデータベースを個別に構成することもできます。 インスタンス レベルで Microsoft Azure へのマネージド バックアップSQL Server有効にする場合の利点と考慮事項の一覧を次に示します。

  • インスタンス レベルでの自動化: 後から追加される新しいデータベースにも自動的に適用される共通設定。

  • 新しいデータベースは、インスタンスに作成されるとすぐに自動的にバックアップされます。

  • 保有期間の要件が同じであるデータベースに適用できます。

  • 既定の設定でインスタンス レベルで有効になっている microsoft Azure バックアップへのマネージド バックアップSQL Server場合でも、異なる保持期間を必要とする個々のデータベースを構成できます。 バックアップに Azure Storage を使用しない場合は、データベースに対する Microsoft Azure へのマネージド バックアップSQL Server無効にすることもできます。

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

システム ストアド プロシージャsmart_admin.sp_set_db_backupは、特定のデータベースSQL Server Microsoft Azure へのマネージド バックアップを有効にするために使用されます。 Microsoft Azure へのマネージド バックアップSQL Serverデータベースで初めて有効にする場合は、Microsoft Azure へのマネージド バックアップSQL Server有効にするだけでなく、次の情報を指定する必要があります。

  • データベースの名前。

  • 保有期間。

  • Azure ストレージ アカウントに対する認証に使用される SQL 資格情報。

  • @encryption_algorithm NO_ENCRYPTION = を使用して暗号化しないように指定するか、サポートされている暗号化アルゴリズムを指定します。 暗号化の詳細については、「 Backup Encryption」を参照してください。

データベース レベルの構成のために Microsoft Azure へのマネージド バックアップSQL Serverは、Transact-SQL でのみサポートされます。

データベースSQL Server Microsoft Azure へのマネージド バックアップが有効になると、この情報は保持されます。 構成を変更する場合は、データベース名と変更する設定のみが必要です。SQL Server Microsoft Azure へのマネージド バックアップでは、指定されていない場合、他のパラメーターの既存の値が保持されます。

重要

データベースSQL Server Microsoft Azure へのマネージド バックアップを構成する前に、既存の構成がある場合に役立つ場合があります。 データベースの構成設定を確認する手順については、後で説明します。

  • Transact-SQL の使用:

    Microsoft Azure へのマネージド バックアップSQL Server初めて有効にする場合、必要なパラメーターは次のとおりです。@database_name@credential_name@encryption_algorithm@enable_backup @storage_url パラメーターは省略可能です。 パラメーターの値 @storage_url を指定しない場合、値は SQL 資格情報のストレージ アカウント情報を使用して派生します。 ストレージ URL を指定する場合、指定する必要があるのはストレージ アカウントのルート URL のみです。この値は、指定した SQL 資格情報と一致する必要があります。

    1. データベース エンジンに接続します。

    2. [標準] ツール バーの [新しいクエリ] をクリックします。

    3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 をクリックします Execute。 この例では、データベース 'TestDB' SQL Server Microsoft Azure へのマネージド バックアップを有効にします。 保有期間は 30 日に設定されています。 このサンプルでは、暗号化アルゴリズムおよび暗号化機能情報を指定して暗号化オプションを使用します。

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

    重要

    保有期間には、1 ~ 30 日までの任意の値を設定できます。

    暗号化に使用する証明書の作成の詳細については、「 Create an Encrypted Backup」の「バックアップ証明書の作成」を参照してください。

    このストアド プロシージャの詳細については、「smart_admin.set_db_backup (Transact-SQL)」を参照してください。

    データベースの構成設定を確認するには、次のクエリを使用します。

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

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

Microsoft Azure へのマネージド バックアップの既定SQL Server設定は、インスタンス レベルで有効にして構成できます。システム ストアド プロシージャsmart_admin.set_instance_backupまたはSQL Server Management Studioを使用する方法です。 これら 2 つの方法について以下で説明します。

smart_admin.set_instance_backup:. @enable_backup @enable_backup パラメーターに 1 を指定すると、バックアップを有効にして既定の構成を設定できます。 これらの既定の設定は、インスタンス レベルで適用すると、このインスタンスに追加されるすべての新しいデータベースに適用されます。 Microsoft Azure へのマネージド バックアップSQL Server初めて有効にする場合は、インスタンスで Microsoft Azure へのマネージド バックアップSQL Server有効にするだけでなく、次の情報を提供する必要があります。

  • 保有期間。

  • Azure ストレージ アカウントに対する認証に使用される SQL 資格情報。

  • 暗号化オプション。 @encryption_algorithm NO_ENCRYPTION = を使用して暗号化しないように指定するか、サポートされている暗号化アルゴリズムを指定します。 暗号化の詳細については、「 Backup Encryption」を参照してください。

有効にすると、これらの設定は保持されます。 構成を変更する場合は、データベース名と変更する設定のみが必要です。 SQL Server Microsoft Azure へのマネージド バックアップでは、指定されていない場合でも既存の値が保持されます。

重要

インスタンスSQL Server Microsoft Azure へのマネージド バックアップを構成する前に、既存の構成 (存在する場合) をチェックすると便利な場合があります。 データベースの構成設定を確認する手順については、後で説明します。

SQL Server Management Studio: SQL Server Management Studio でこのタスクを実行するには、オブジェクト エクスプローラーで [管理] ノードを展開し、 [マネージド バックアップ]を右クリックします。 [構成] をクリックします。 [マネージド バックアップ] ダイアログ ボックスが開きます。 このダイアログ ボックスを使用して、保持期間、SQL 資格情報、ストレージ URL、暗号化の設定を指定します。 このダイアログの具体的なヘルプについては、「マネージド バックアップの構成 (SQL Server Management Studio)」を参照してください。

Transact-SQL の使用

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 をクリックします Execute

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

重要

保有期間には、1 ~ 30 日までの任意の値を設定できます。

暗号化に使用する証明書の作成の詳細については、「 Create an Encrypted Backup」の「バックアップ証明書の作成」を参照してください。

インスタンスの既定の構成設定を確認するには、次のクエリを使用します。

Use msdb;  
GO  
SELECT * FROM smart_admin.fn_backup_instance_config ();

PowerShell の使用

  1. PowerShell インスタンスを起動します。

  2. 次のスクリプトを設定に合わせて変更してから実行します。

    cd SQLSERVER:\SQL\Computer\MyInstance
    $encryptionOption = New-SqlBackupEncryptionOption -EncryptionAlgorithm Aes128 -EncryptorType ServerCertificate -EncryptorName "MyBackupCert"  
    Get-SqlSmartAdmin | Set-SqlSmartAdmin -BackupEnabled $True -BackupRetentionPeriodInDays 10 -EncryptionOption $encryptionOption  
    

重要

既定の設定を構成した後に新しいデータベースを作成すると、データベースが既定の設定で構成されるまで最大 15 分かかる場合があります。 これは、復旧モデルが Simple から Full または Bulk-Logged に変更されるデータベースにも適用されます。

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

システム ストアド プロシージャSQL Server使用して、Microsoft Azure へのマネージド バックアップの設定をsp_set_db_backup無効にすることができます。 @enableparameterは、特定のデータベースの Microsoft Azure 構成へのマネージド バックアップSQL Server有効または無効にするために使用されます。1 では構成設定が有効になり、0 が無効になります。

特定のデータベースに対して Microsoft Azure への SQL Server マネージド バックアップ を無効にするには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 をクリックします Execute

Use msdb;  
Go  
EXEC smart_admin.sp_set_db_backup   
                @database_name='TestDB'   
                ,@enable_backup=0;  
GO

インスタンス上のすべてのデータベースについて Microsoft Azure への SQL Server マネージド バックアップ を無効にする

インスタンスで現在 Microsoft Azure への SQL Server マネージド バックアップ が有効になっているすべてのデータベースから Microsoft Azure への SQL Server マネージド バックアップ の構成設定を無効にするための手順を次に示します。 ストレージ URL、保有期間、SQL 資格情報などの構成設定はメタデータに残るため、後で Microsoft Azure への SQL Server マネージド バックアップ をデータベースに対して有効にした場合に使用できます。 Microsoft Azure サービスへのマネージド バックアップSQL Server一時的に一時停止するだけの場合は、このトピックの後のセクションで説明するマスター スイッチを使用できます。

すべてのデータベースSQL Server Microsoft Azure へのマネージド バックアップを無効にするには:

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 をクリックします Execute。 次の例では、Microsoft Azure へのマネージド バックアップSQL Serverがインスタンス レベルで構成されているかどうか、およびインスタンス上の Microsoft Azure 対応データベースへのすべてのSQL Serverマネージド バックアップが構成されているかどうかを識別し、システム ストアド プロシージャsp_set_db_backupを実行して Microsoft Azure へのマネージド バックアップSQL Server無効にします。

-- Create a working table to store the database names  
Declare @DBNames TABLE  
  
       (  
             RowID int IDENTITY PRIMARY KEY  
             ,DBName varchar(500)  
  
       )  
-- Define the variables  
DECLARE @rowid int  
DECLARE @dbname varchar(500)  
DECLARE @SQL varchar(2000)  
-- Get the database names from the system function  
  
INSERT INTO @DBNames (DBName)  
  
SELECT db_name  
       FROM
  
       smart_admin.fn_backup_db_config (NULL)  
       WHERE is_smart_backup_enabled = 1  
  
       --Select DBName from @DBNames 
       select @rowid = min(RowID) FROM @DBNames  
  
       WHILE @rowID IS NOT NULL  
       Begin
             Set @dbname = (Select DBName From @DBNames Where RowID = @rowid)  
             Begin  
             Set @SQL = 'EXEC smart_admin.sp_set_db_backup    
                @database_name= '''+'' + @dbname+ ''+''',   
                @enable_backup=0'  
  
            EXECUTE (@SQL)  
  
             END  
             Select @rowid = min(RowID)  
             From @DBNames Where RowID > @rowid  
  
       END

インスタンスのすべてのデータベースの構成設定を確認するには、次のクエリを使用します。

Use msdb;  
GO  
SELECT * FROM smart_admin.fn_backup_db_config (NULL);  
GO

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

インスタンス レベルの既定の設定は、そのインスタンスに作成されたすべての新しいデータベースに適用されます。 既定の設定が必要なくなった場合は、 smart_admin.sp_set_instance_backup システム ストアド プロシージャを使用してこの構成を無効にすることができます。 無効にしても、ストレージ URL、保有期間の設定、SQL 資格情報名など、その他の構成設定は削除されません。 これらの設定は、後でインスタンスに対して Microsoft Azure への SQL Server マネージド バックアップ を有効にする場合に使用されます。

Microsoft Azure への SQL Server マネージド バックアップ の既定の構成設定を無効にするには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 をクリックします Execute

    Use msdb;  
    Go  
    EXEC smart_admin.sp_set_instance_backup  
                    @enable_backup=0;  
    GO
    

PowerShell の使用

  1. PowerShell インスタンスを起動します。

  2. 次のスクリプトを実行します。

    cd SQLSERVER:\SQL\Computer\MyInstance
    Set-SqlSmartAdmin -BackupEnabled $False  
    

インスタンス レベルで Microsoft Azure への SQL Server マネージド バックアップ を一時停止する

一時的に少しの間 Microsoft Azure への SQL Server マネージド バックアップ サービスを停止する必要が生じる場合があります。 smart_admin.sp_backup_master_switchシステム ストアド プロシージャを使用すると、インスタンス レベルで Microsoft Azure サービスへのマネージド バックアップSQL Server無効にすることができます。 Microsoft Azure への SQL Server マネージド バックアップを再開するには、同じストアド プロシージャを使用します。 パラメーターは@state、Microsoft Azure へのマネージド バックアップSQL Serverオフにするかオンにするかを定義するために使用されます。

Transact-SQL を使用して Microsoft Azure への SQL Server マネージド バックアップ サービスを一時停止するには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 Execute

Use msdb;  
GO  
EXEC smart_admin.sp_backup_master_switch @new_state=0;  
Go  
  

PowerShell SQL Server使用して Microsoft Azure へのマネージド バックアップを一時停止するには

  1. PowerShell インスタンスを起動します。

  2. 次のスクリプトを設定に合わせて変更してから実行します。

    cd SQLSERVER:\SQL\Computer\MyInstance
    Get-SqlSmartAdmin | Set-SqlSmartAdmin -MasterSwitch $False  
    

Transact-SQL を使用して Microsoft Azure への SQL Server マネージド バックアップ を再開するには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 をクリックします Execute

Use msdb;  
Go  
EXEC smart_admin. sp_backup_master_switch @new_state=1;  
GO

PowerShell SQL Server使用して Microsoft Azure へのマネージド バックアップを再開するには

  1. PowerShell インスタンスを起動します。

  2. 次のスクリプトを設定に合わせて変更してから実行します。

    cd SQLSERVER:\SQL\Computer\MyInstance
    Get-SqlSmartAdmin | Set-SqlSmartAdmin -MasterSwitch $True