Windows 認証でのデータベース ミラーリング エンドポイントの作成 (Transact-SQL)Create a Database Mirroring Endpoint for Windows Authentication (Transact-SQL)

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

このトピックでは、 SQL Server 2017SQL Server 2017 に、Windows 認証を使用するデータベース ミラーリング エンドポイントを Transact-SQLTransact-SQLで作成する方法について説明します。This topic describes how to create a database mirroring endpoint that uses Windows Authentication in SQL Server 2017SQL Server 2017 by using Transact-SQLTransact-SQL. データベース ミラーリングまたは Always On 可用性グループAlways On availability groups をサポートするには、 SQL ServerSQL Server の各インスタンスにデータベース ミラーリング エンドポイントが必要となります。To support database mirroring or Always On 可用性グループAlways On availability groups each instance of SQL ServerSQL Server requires a database mirroring endpoint. サーバー インスタンスは、単一のポートを備えたデータベース ミラーリング エンドポイントを 1 つだけ持つことができます。A server instance can have only one database mirroring endpoint, which has a single port. データベース ミラーリング エンドポイントは、作成される際に、ローカル システムで利用できる任意のポートを使用できます。A database mirroring endpoint can use any port that is available on the local system when the endpoint is created. サーバー インスタンス上のすべてのデータベース ミラーリング セッションはそのポートでリッスンし、データベース ミラーリングに対するすべての着信接続はそのポートを使用します。All database mirroring sessions on a server instance listen on that port, and all incoming connections for database mirroring use that port.

重要

データベース ミラーリング エンドポイントが存在し、既に使用されている場合、そのエンドポイントを使用することをお勧めします。If a database mirroring endpoint exists and is already in use, we recommend that you use that endpoint. 使用中のエンドポイントを削除すると、既存のセッションが切断されます。Dropping an in-use endpoint disrupts existing sessions.

このトピックの内容In This Topic

  • 作業を開始する準備: セキュリティBefore you begin: Security

  • データベース ミラーリング エンドポイントを作成するために使用するもの: Transact-SQLTo create a database mirroring endpoint, using: Transact-SQL

はじめにBefore You Begin

セキュリティSecurity

サーバー インスタンスの認証方法と暗号化方法は、システム管理者が設定します。The authentication and encryption methods of the server instance are established by the system administrator.

重要

RC4 アルゴリズムは非推奨とされます。The RC4 algorithm is deprecated. この機能は、Microsoft SQL Server の将来のバージョンで削除されます。This feature will be removed in a future version of Microsoft SQL Server. 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションはできるだけ早く修正してください。Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. AES を使用することをお勧めします。We recommend that you use AES.

PermissionsPermissions

CREATE ENDPOINT 権限、または sysadmin 固定サーバー ロールのメンバーシップが必要です。Requires CREATE ENDPOINT permission, or membership in the sysadmin fixed server role. 詳細については、「 GRANT (エンドポイントの権限の許可) (Transact-SQL)」を参照してください。For more information, see GRANT Endpoint Permissions (Transact-SQL).

Transact-SQL の使用Using Transact-SQL

Windows 認証を使用するデータベース ミラーリング エンドポイントを作成するにはTo Create a Database Mirroring Endpoint That Uses Windows Authentication

  1. データベース ミラーリング エンドポイントを作成する SQL ServerSQL Server のインスタンスに接続します。Connect to the instance of SQL ServerSQL Server on which you want to create a database mirroring endpoint.

  2. [標準] ツール バーの [新しいクエリ] をクリックします。From the Standard bar, click New Query.

  3. 次のステートメントを使用して、データベース ミラーリング エンドポイントが既に存在するかどうかを判断します。Determine if a database mirroring endpoint already exists by using the following statement:

    SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints;   
    

    重要

    サーバー インスタンスにデータベース ミラーリング エンドポイントが既に存在する場合、サーバー インスタンス上に確立する他のセッションにそのエンドポイントが使用されます。If a database mirroring endpoint already exists for the server instance, use that endpoint for any other sessions you establish on the server instance.

  4. Transact-SQL を使用して、Windows 認証を使用するエンドポイントを作成するには、CREATE ENDPOINT ステートメントを使用します。To use Transact-SQL to create an endpoint to use with Windows Authentication, use a CREATE ENDPOINT statement. ステートメントは、通常、次のような形式になります。The statement takes the following general form:

    CREATE ENDPOINT <endpointName>CREATE ENDPOINT <endpointName>

    STATE=STARTEDSTATE=STARTED

    AS TCP ( LISTENER_PORT = <listenerPortList> )AS TCP ( LISTENER_PORT = <listenerPortList> )

    FOR DATABASE_MIRRORINGFOR DATABASE_MIRRORING

    ((

    [ AUTHENTICATION = WINDOWS [ <authorizationMethod> ][ AUTHENTICATION = WINDOWS [ <authorizationMethod> ]

    ]]

    [,] ENCRYPTION = REQUIRED[ [,] ENCRYPTION = REQUIRED

    [ ALGORITHM { <algorithm> } ][ ALGORITHM { <algorithm> } ]

    ]]

    [,] ROLE = <role>[,] ROLE = <role>

    ))

    パラメーターの説明where

    • <endpointName> は、サーバー インスタンスのデータベース ミラーリング エンドポイントの一意名です。<endpointName> is a unique name for the database mirroring endpoint of the server instance.

    • STARTED によって、エンドポイントが開始され、接続のリッスンが開始されることを指定します。STARTED specifies that the endpoint is to be started and to begin listening for connections. データベース ミラーリング エンドポイントは、通常、STARTED 状態で作成されます。A database mirroring endpoint typically is created in the STARTED state. STOPPED 状態 (既定) または DISABLED 状態でセッションを開始することもできます。Alternatively, you can start a session in a STOPPED state (the default) or DISABLED state.

    • <listenerPortList> は、サーバーがデータベース ミラーリング メッセージをリッスンする単一のポート番号 (nnnn) です。<listenerPortList> is a single port number (nnnn) on which you want the server to listen for database mirroring messages. TCP のみ使用できます。他のプロトコルを指定するとエラーが発生します。Only TCP is allowed; specifying any other protocol causes an error.

      ポート番号は、コンピューター システムにつき 1 つだけ使用できます。A port number can be used only once per computer system. データベース ミラーリング エンドポイントは、作成される際に、ローカル システムで利用できる任意のポートを使用できます。A database mirroring endpoint can use any port that is available on the local system when the endpoint is created. システムの TCP エンドポイントによって現在使用されているポートを識別するには、次の Transact-SQL ステートメントを使用します。To identify the ports currently being used by TCP endpoints on the system, use the following Transact-SQL statement:

      SELECT name, port FROM sys.tcp_endpoints;  
      

      重要

      各サーバー インスタンスには、一意のリスナー ポートが 1 つだけ必要です。Each server instance requires one and only one unique listener port.

    • Windows 認証の場合、エンドポイントで接続の認証に NTLM または Kerberos だけを使用する場合を除き、AUTHENTICATION オプションは省略可能です。For Windows Authentication, the AUTHENTICATION option is optional, unless you want the endpoint to use only NTLM or Kerberos to authenticate connections. <authorizationMethod> では、次のいずれかで、接続の認証に使用する方法を指定します: NTLM、KERBEROS、NEGOTIATE。<authorizationMethod> specifies the method used to authenticate connections as one of the following: NTLM, KERBEROS, or NEGOTIATE. 既定値の NEGOTIATE を使用すると、エンドポイントでは、使用する Windows ネゴシエーション プロトコルに NTLM または Kerberos のいずれかが選択されます。The default, NEGOTIATE, causes the endpoint to use the Windows negotiation protocol to choose either NTLM or Kerberos. ネゴシエーションでは、相手側のエンドポイントの認証レベルに応じて、認証ありまたは認証なしの接続が可能になります。Negotiation enables connections with or without authentication, depending on the authentication level of the opposite endpoint.

    • 既定では、ENCRYPTION は REQUIRED に設定されます。ENCRYPTION is set to REQUIRED by default. これは、このエンドポイントへのすべての接続に暗号化を使用する必要があることを意味します。This means that all connections to this endpoint must use encryption. ただし、エンドポイントで暗号化を無効にしたり、オプションにできます。However, you can disable encryption or make it optional on an endpoint. 選択肢は次のとおりです。The alternatives are as follows:

      [値]Value 定義Definition
      DISABLEDDISABLED 接続を経由して送信されたデータが暗号化されないことを指定します。Specifies that data sent over a connection is not encrypted.
      SUPPORTEDSUPPORTED 反対側のエンドポイントで SUPPORTED または REQUIRED が指定されている場合に限り、データを暗号化することを指定します。Specifies that the data is encrypted only if the opposite endpoint specifies either SUPPORTED or REQUIRED.
      REQUIREDREQUIRED 接続を経由して送信されるデータを暗号化する必要があることを示します。Specifies that data sent over a connection must be encrypted.

      あるエンドポイントで暗号化が必要な場合は、他のエンドポイントで ENCRYPTION が SUPPORTED または REQUIRED に設定されている必要があります。If an endpoint requires encryption, the other endpoint must have ENCRYPTION set to either SUPPORTED or REQUIRED.

    • <algorithm> には、エンドポイントの暗号化標準を指定するオプションが用意されています。<algorithm> provides the option of specifying the encryption standards for the endpoint. <algorithm> の値は、次の各アルゴリズムまたはそれらの組み合わせになります: RC4、AES、AES RC4、RC4 AES。The value of <algorithm> can be one following algorithms or combinations of algorithms: RC4, AES, AES RC4, or RC4 AES.

      AES RC4 では、エンドポイントが暗号化アルゴリズムのネゴシエートを行う際に、AES アルゴリズムを優先することが示されます。AES RC4 specifies that this endpoint will negotiate for the encryption algorithm, giving preference to the AES algorithm. RC4 AES では、エンドポイントが暗号化アルゴリズムのネゴシエートを行う際に、RC4 アルゴリズムを優先することが示されます。RC4 AES specifies that this endpoint will negotiate for the encryption algorithm, giving preference to the RC4 algorithm. 両方のエンドポイントで両方のアルゴリズムを異なる順序で指定した場合、接続を受け入れた方のエンドポイントが優先されます。If both endpoints specify both algorithms but in different orders, the endpoint accepting the connection wins.

      注意

      RC4 アルゴリズムは非推奨とされます。The RC4 algorithm is deprecated. この機能は、Microsoft SQL Server の将来のバージョンで削除されます。This feature will be removed in a future version of Microsoft SQL Server. 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションはできるだけ早く修正してください。Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. AES を使用することをお勧めします。We recommend that you use AES.

    • <role> では、サーバーが実行できるロールが定義されます。<role> defines the role or roles that the server can perform. ROLE の指定は必須です。Specifying ROLE is required. ただし、エンドポイントのロールが適用されるのは、データベース ミラーリングの場合のみです。However, the role of the endpoint is relevant only for database mirroring. Always On 可用性グループAlways On availability groupsでは、エンドポイントのロールが無視されます。For Always On 可用性グループAlways On availability groups, the role of the endpoint is ignored.

      サーバー インスタンスが、あるデータベース ミラーリング セッションではあるロールを使用し、他のセッションでは別のロールを使用できるようにするには、ROLE=ALL を指定します。To allow a server instance to serve as one role for one database mirroring session and different role for another session, specify ROLE=ALL. パートナーまたはミラーリング監視サーバーのいずれかになるようにサーバー インスタンスを制限するには、ROLE=PARTNER または ROLE=WITNESS をそれぞれ指定します。To restrict a server instance to being either a partner or a witness, specify ROLE=PARTNER or ROLE=WITNESS, respectively.

      注意

      SQL ServerSQL Serverの各エディションでサポートされるデータベース ミラーリング オプションの詳細については、「 SQL Server 2016 の各エディションがサポートする機能」を参照してください。For more information about Database Mirroring options for different editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016.

    CREATE ENDPOINT 構文の詳細な説明については、「 CREATE ENDPOINT (Transact-SQL)で作成する方法について説明します。For a complete description of the CREATE ENDPOINT syntax, see CREATE ENDPOINT (Transact-SQL).

    注意

    既存のエンドポイントを変更するには、「 ALTER ENDPOINT (Transact-SQL)で作成する方法について説明します。To change an existing endpoint, use ALTER ENDPOINT (Transact-SQL).

例: データベース ミラーリングをサポートするエンドポイントの作成 (Transact-SQL)Example: Creating Endpoints to Support for Database Mirroring (Transact-SQL)

次の例では、3 台の異なるコンピューター システムに既定のサーバー インスタンスのデータベース ミラーリング エンドポイントを作成します。The following example creates database mirroring endpoints for the default server instances on three separate computer systems:

サーバー インスタンスの役割Role of server instance ホスト コンピューター名Name of host computer
パートナー (初期はプリンシパル)Partner (initially in the principal role) SQLHOST01\.
パートナー (初期はミラー)Partner (initially in the mirror role) SQLHOST02\.
ミラーリング監視サーバーWitness SQLHOST03\.

この例では、3 つのエンドポイントすべてでポート番号 7022 を使用しますが、利用可能なポート番号であればどれでも使用できます。In this example, all three endpoints use port number 7022, though any available port number would work. エンドポイントでは既定の Windows 認証を使用するので、AUTHENTICATION オプションは不要です。The AUTHENTICATION option is unnecessary, because the endpoints use the default type, Windows Authentication. エンドポイントはいずれも Windows 認証の既定動作に従い接続のための認証方法をネゴシエートする仕様なので、ENCRYPTION オプションも不要です。The ENCRYPTION option is also unnecessary, because the endpoints are all intended to negotiate the authentication method for a connection, which is the default behavior for Windows Authentication. また、すべてのエンドポイントで、既定動作に従い暗号化が必要です。Also, all of the endpoints require the encryption, which is the default behavior.

各サーバー インスタンスは、パートナーまたはミラーリング監視サーバーのいずれかとしてのみ機能するように制限します。各サーバーのエンドポイントは役割を明示 (ROLE=PARTNER または ROLE=WITNESS) します。Each server instance is limited to serving as either a partner or a witness, and the endpoint of each server expressly specifies which role (ROLE=PARTNER or ROLE=WITNESS).

重要

各サーバー インスタンスにはエンドポイントを 1 つしか作成できません。Each server instance can have only one endpoint. したがって、1 つのサーバー インスタンスをセッションによってパートナーにしたりミラーリング監視サーバーにしたりする場合は、ROLE=ALL を指定します。Therefore, if you want a server instance to be a partner in some sessions and the witness in others, specify ROLE=ALL.

--Endpoint for initial principal server instance, which  
--is the only server instance running on SQLHOST01.  
CREATE ENDPOINT endpoint_mirroring  
    STATE = STARTED  
    AS TCP ( LISTENER_PORT = 7022 )  
    FOR DATABASE_MIRRORING (ROLE=PARTNER);  
GO  
--Endpoint for initial mirror server instance, which  
--is the only server instance running on SQLHOST02.  
CREATE ENDPOINT endpoint_mirroring  
    STATE = STARTED  
    AS TCP ( LISTENER_PORT = 7022 )  
    FOR DATABASE_MIRRORING (ROLE=PARTNER);  
GO  
--Endpoint for witness server instance, which  
--is the only server instance running on SQLHOST03.  
CREATE ENDPOINT endpoint_mirroring  
    STATE = STARTED  
    AS TCP ( LISTENER_PORT = 7022 )  
    FOR DATABASE_MIRRORING (ROLE=WITNESS);  
GO  

関連タスクRelated Tasks

データベース ミラーリング エンドポイントを構成するにはTo Configure a Database Mirroring Endpoint

データベース ミラーリング エンドポイントに関する情報を表示するにはTo View Information About the Database Mirroring Endpoint

参照See Also

ALTER ENDPOINT (Transact-SQL) ALTER ENDPOINT (Transact-SQL)
暗号化アルゴリズムの選択 Choose an Encryption Algorithm
CREATE ENDPOINT (Transact-SQL) CREATE ENDPOINT (Transact-SQL)
サーバー ネットワーク アドレスの指定 (データベース ミラーリング) Specify a Server Network Address (Database Mirroring)
例:Windows 認証を使用したデータベース ミラーリングの設定 (Transact-SQL) Example: Setting Up Database Mirroring Using Windows Authentication (Transact-SQL)
データベース ミラーリング エンドポイント (SQL Server)The Database Mirroring Endpoint (SQL Server)