Создание конечной точки зеркального отображения базы данных с проверкой подлинности Windows (Transact-SQL)Create a Database Mirroring Endpoint for Windows Authentication (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

В этом разделе описывается создание конечной точки зеркального отображения базы данных, использующей проверку подлинности Windows, в SQL Server 2017SQL Server 2017 при помощи среды 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. Для поддержки зеркального отображения баз данных или Группы доступности AlwaysOnAlways On availability groups , каждому экземпляру SQL ServerSQL Server требуется конечная точка зеркального отображения базы данных.To support database mirroring or Группы доступности AlwaysOnAlways On availability groups each instance of SQL ServerSQL Server requires a database mirroring endpoint. На экземпляре сервера может быть только одна конечная точка зеркального отображения базы данных, которой назначен только один порт.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-SQLUsing Transact-SQL

Создание конечной точки зеркального отображения базы данных с проверкой подлинности WindowsTo 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. Чтобы создать конечную точку с проверкой подлинности Windows на языке Transact-SQL, выполните инструкцию 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 <имя_конечной_точки>CREATE ENDPOINT <endpointName>

    STATE=STARTEDSTATE=STARTED

    AS TCP ( LISTENER_PORT = <список_портов_прослушивателя> )AS TCP ( LISTENER_PORT = <listenerPortList> )

    ДЛЯ DATABASE_MIRRORINGFOR DATABASE_MIRRORING

    ((

    [ AUTHENTICATION = WINDOWS [ <метод_авторизации> ][ AUTHENTICATION = WINDOWS [ <authorizationMethod> ]

    ]]

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

    [ ALGORITHM { <алгоритм> } ][ ALGORITHM { <algorithm> } ]

    ]]

    [ , ] ROLE = <роль>[,] ROLE = <role>

    ))

    гдеwhere

    • <имя_конечной_точки>  — это уникальное имя для конечной точки зеркального отображения базы данных экземпляра сервера.<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.

    • <<список_портов_прослушивателя>  — это номер одного порта (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.

      Номер порта на одном компьютере может использоваться только один раз.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;  
      

      Важно!

      У каждого экземпляра сервера должен быть один и только один уникальный прослушиваемый порт.Each server instance requires one and only one unique listener port.

    • Для проверки подлинности Windows параметр AUTHENTICATION является необязательным, если не требуется, чтобы в конечной точке использовались только NTLM или Kerberos для проверки подлинности соединений.For Windows Authentication, the AUTHENTICATION option is optional, unless you want the endpoint to use only NTLM or Kerberos to authenticate connections. <метод_авторизации> указывает метод, используемый для проверки подлинности соединений, как один из следующих: 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> provides the option of specifying the encryption standards for the endpoint. Значение <алгоритм> может указывать один из следующих алгоритмов или сочетание алгоритмов: 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> 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. Для Группы доступности AlwaysOnAlways On availability groupsроль конечной точки игнорируется.For Группы доступности AlwaysOnAlways 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)

В следующем примере создаются конечные точки зеркального отображения базы данных для экземпляров сервера по умолчанию на трех разных компьютерах.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\.

В этом примере все три конечные точки используют порт с номером 7022, хотя можно было бы использовать номер любого доступного порта.In this example, all three endpoints use port number 7022, though any available port number would work. Параметр AUTHENTICATION необязателен, так как все конечные точки используют тип по умолчанию, проверку подлинности Windows.The AUTHENTICATION option is unnecessary, because the endpoints use the default type, Windows Authentication. Параметр ENCRYPTION также необязателен, так как все конечные точки намереваются согласовывать метод проверки подлинности соединения, а это поведение по умолчанию — для проверки подлинности Windows.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).

Важно!

У каждого экземпляра сервера может быть только одна конечная точка.Each server instance can have only one endpoint. Поэтому, если нужно, чтобы экземпляр сервера был в некоторых сеансах участником, а в некоторых — следящим, укажите 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)