次の方法で共有


例: Windows 認証を使用したデータベース ミラーリングの設定 (Transact-SQL)

この例では、Windows 認証を使用してミラーリング監視サーバーとのデータベース ミラーリング セッションを作成するために必要なすべてのステージを示します。 このトピックの例では、Transact-SQL を使用します。 Transact-SQL 手順を使用する代わりに、データベース ミラーリングのセットアップにデータベース ミラーリング セキュリティの構成ウィザードを使用できます。 詳細については、「 Windows 認証を使用したデータベース ミラーリング セッションの確立 (SQL Server Management Studio)」を参照してください。

前提条件

この例では、 AdventureWorks サンプル データベースを使用します。このデータベースでは、既定で単純復旧モデルが使用されています。 このデータベースでデータベース ミラーリングを使用するには、完全復旧モデルを使用するようにデータベース ミラーリングを変更する必要があります。 Transact-SQL でこれを行うには、次のように ALTER DATABASE ステートメントを使用します。

USE master;  
GO  
ALTER DATABASE AdventureWorks   
SET RECOVERY FULL;  
GO  

SQL Server Management Studio で復旧モデルを変更する方法については、「 データベースの復旧モデルの表示または変更 (SQL Server)」を参照してください。

権限

データベースに対する ALTER 権限と CREATE ENDPOINT 権限、または sysadmin 固定サーバー ロールのメンバーシップが必要です。

この例では、2 つのパートナーとミラーリング監視サーバーが、3 つのコンピューター システムの既定のサーバー インスタンスです。 3 つのサーバー インスタンスは同じ Windows ドメインを実行しますが、この例のミラーリング監視サーバー インスタンスのユーザー アカウント (スタートアップ サービス アカウントとして使用) は異なります。

次の表は、この例で使用される値をまとめたものです。

初期ミラーリングの役割 ホスト システム ドメイン ユーザー アカウント
校長 PARTNERHOST1 <Mydomain>\<dbousername>
PARTNERHOST5 <Mydomain>\<dbousername>
ミラーリング監視サーバー WITNESSHOST4 <Somedomain>\<witnessuser>
  1. プリンシパル サーバー インスタンス (PARTNERHOST1 の既定のインスタンス) にエンドポイントを作成します。

    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=PARTNER)  
    GO  
    --Partners under same domain user; login already exists in master.  
    --Create a login for the witness server instance,  
    --which is running as Somedomain\witnessuser:  
    USE master ;  
    GO  
    CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ;  
    GO  
    -- Grant connect permissions on endpoint to login account of witness.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser];  
    --Grant connect permissions on endpoint to login account of partners.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];  
    GO  
    
  2. ミラー サーバー インスタンス (PARTNERHOST5 の既定のインスタンス) にエンドポイントを作成します。

    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL)  
    GO  
    --Partners under same domain user; login already exists in master.  
    --Create a login for the witness server instance,  
    --which is running as Somedomain\witnessuser:  
    USE master ;  
    GO  
    CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ;  
    GO  
    --Grant connect permissions on endpoint to login account of witness.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser];  
    --Grant connect permissions on endpoint to login account of partners.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];  
    GO  
    
  3. 証人サーバー インスタンス(WITNESSHOST4 のデフォルトインスタンス)にエンドポイントを作成します。

    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=WITNESS)  
    GO  
    --Create a login for the partner server instances,  
    --which are both running as Mydomain\dbousername:  
    USE master ;  
    GO  
    CREATE LOGIN [Mydomain\dbousername] FROM WINDOWS ;  
    GO  
    --Grant connect permissions on endpoint to login account of partners.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];  
    GO  
    
  4. ミラー データベースを作成します。 詳細については、「 ミラーリング用のミラー データベースの準備 (SQL Server)」を参照してください。

  5. PARTNERHOST5のミラー サーバー インスタンスで、PARTNERHOST1上のサーバー インスタンスをパートナーとして設定します (初期プリンシパル サーバー インスタンスにします)。

    ALTER DATABASE AdventureWorks   
        SET PARTNER =   
        'TCP://PARTNERHOST1.COM:7022'  
    GO  
    
  6. PARTNERHOST1のプリンシパル サーバー インスタンスで、PARTNERHOST5上のサーバー インスタンスをパートナーとして設定します (初期ミラー サーバー インスタンスにします)。

    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://PARTNERHOST5.COM:7022'  
    GO  
    
  7. プリンシパル サーバー上で、証人サーバー (WITNESSHOST4) を設定します。

    ALTER DATABASE AdventureWorks   
        SET WITNESS =   
        'TCP://WITNESSHOST4.COM:7022'  
    GO  
    

関連タスク

こちらもご覧ください

データベースを変更 (Transact-SQL)
データベース ミラーリング エンドポイント (SQL Server)
データベース ミラーリングと AlwaysOn 可用性グループのトランスポート セキュリティ (SQL Server)
データベースを別のサーバー インスタンスで使用できるようにするときのメタデータの管理 (SQL Server)
SQL Server データベース エンジンと Azure SQL Database のセキュリティ センター