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

В этом разделе описывается создание конечной точки зеркального отображения базы данных, использующей проверку подлинности Windows, в SQL Server 2012 при помощи среды Transact-SQL. Для поддержки зеркального отображения баз данных или Группы доступности AlwaysOn, каждому экземпляру SQL Server требуется конечная точка зеркального отображения базы данных. На экземпляре сервера может быть только одна конечная точка зеркального отображения базы данных, которой назначен только один порт. Конечная точка зеркального отображения базы данных может использовать любой доступный порт на локальной системе, на которой эта точка создана. Все сеансы зеркального отображения базы данных на экземпляре сервера прослушивают этот порт, и все входящие соединения для зеркального отображения базы данных используют этот порт.

Важное примечаниеВажно!

Если конечная точка зеркального отображения базы данных существует и уже используется, рекомендуется использовать именно эту конечную точку. Удаление используемой конечной точки нарушает работу существующих сеансов.

В этом разделе

  • Перед началом работы выполните следующие действия.  Безопасность

  • Создание конечной точки зеркального отображения базы данных с помощью различных средств.  Transact-SQL

Перед началом работы

Безопасность

Методы проверки подлинности и шифрования для каждого экземпляра сервера устанавливаются администратором системы.

Примечание по безопасностиПримечание по безопасности

Алгоритм RC4 устарел. В будущей версии Microsoft SQL Server этот компонент будет удален. Не используйте его при работе над новыми приложениями и как можно быстрее измените приложения, в которых он в настоящее время используется. Вместо этого рекомендуется использовать алгоритм AES.

Разрешения

Требуется разрешение CREATE ENDPOINT или членство в предопределенной роли сервера sysadmin. Дополнительные сведения см. в разделе GRANT, предоставление разрешений на конечные точки (Transact-SQL).

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Использование Transact-SQL

Создание конечной точки зеркального отображения базы данных с проверкой подлинности Windows

  1. Подключитесь к экземпляру SQL Server, для которого требуется создать конечную точку зеркального отображения базы данных.

  2. На панели «Стандартная» нажмите Создать запрос.

  3. Определите, не существует ли уже конечная точка зеркального отображения, с помощью следующей инструкции:

    SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints 
    
    Важное примечаниеВажно!

    Если конечная точка зеркального отображения уже существует для данного экземпляра сервера, используйте ее для всех сеансов, устанавливаемых с этим экземпляром.

  4. Чтобы создать конечную точку с проверкой подлинности Windows на языке Transact-SQL, выполните инструкцию CREATE ENDPOINT. Эта инструкция выглядит так:

    CREATE ENDPOINT <endpointName>

        STATE=STARTED

        AS TCP ( LISTENER_PORT = <listenerPortList> )

        ДЛЯ DATABASE_MIRRORING

        (

            [ AUTHENTICATION = WINDOWS [ <authorizationMethod> ]

            ]

            [ [,] ENCRYPTION = REQUIRED

                    [ ALGORITHM { <algorithm> } ]

            ]

            [,] ROLE = <role>

        )

    где

    • <endpointName> — уникальное имя для конечной точки зеркального отображения базы данных экземпляра сервера.

    • STARTED указывает, что конечная точка должна запуститься и начать ожидать соединения. Обычно конечные точки зеркального отображения базы данных создаются в состоянии STARTED. Можно также начать сеанс в состоянии STOPPED (по умолчанию) или DISABLED.

    • <listenerPortList> — единственный номер порта (nnnn), в котором сервер должен прослушивать сообщения зеркального отображения базы данных. Разрешается только протокол TCP; использование другого протокола приведет к ошибке.

      Номер порта на одном компьютере может использоваться только один раз. Конечная точка зеркального отображения базы данных может использовать любой доступный порт на локальной системе, на которой эта точка создана. Чтобы определить, какие порты в данный момент используются в системе конечными точками протокола TCP, выполните следующую инструкцию Transact-SQL:

      SELECT name, port FROM sys.tcp_endpoints
      
      Важное примечаниеВажно!

      У каждого экземпляра сервера должен быть один и только один уникальный прослушиваемый порт.

    • Для проверки подлинности Windows параметр AUTHENTICATION является необязательным, если не требуется, чтобы в конечной точке использовались только NTLM или Kerberos для проверки подлинности соединений. <authorizationMethod> указывает метод, используемый для проверки подлинности соединений как один из следующих: NTLM, KERBEROS или NEGOTIATE. Значение по умолчанию NEGOTIATE соответствует тому, что конечная точка будет использовать протокол согласования Windows для выбора NTLM либо Kerberos. Согласование разрешает соединения без проверки подлинности или с ней, в зависимости от уровня проверки подлинности противоположной конечной точки.

    • По умолчанию параметр ENCRYPTION имеет значение REQUIRED. Это означает, что все соединения с этой конечной точкой должны использовать шифрование. Однако можно отключить шифрование или сделать его необязательным. Существуют следующие альтернативы.

      Значение

      Определение

      DISABLED

      Указывает на то, что данные, передаваемые через соединение, не будут зашифрованы.

      SUPPORTED

      Указывает на то, что данные будут зашифрованы только в случае, если у противоположной конечной точки этот аргумент принял значение SUPPORTED или REQUIRED.

      REQUIRED

      Указывает на то, что данные, передаваемые через соединение, шифруются.

      Если конечная точка требует шифрования, у другой конечной точки значением параметра ENCRYPTION может быть SUPPORTED или REQUIRED.

    • <algorithm> предоставляет параметр определения стандартов шифрования для конечной точки. Значение <algorithm> может указывать один из следующих алгоритмов или сочетание алгоритмов: RC4, AES, AES RC4 или RC4 AES.

      Алгоритм AES RC4 определяет, что данная конечная точка будет согласовывать алгоритм шифрования, отдавая предпочтение алгоритму AES. Алгоритм RC4 AES определяет, что данная конечная точка будет согласовывать алгоритм шифрования, отдавая предпочтение алгоритму RC4. Если в обеих конечных точках указаны оба алгоритма, но в разных последовательностях, то выбор алгоритма остается за конечной точкой, принимающей соединение.

      ПримечаниеПримечание

      Алгоритм RC4 устарел. В будущей версии Microsoft SQL Server этот компонент будет удален. Не используйте его при работе над новыми приложениями и как можно быстрее измените приложения, в которых он в настоящее время используется. Вместо этого рекомендуется использовать алгоритм AES.

    • <role> определяет роль или роли, которые может выполнять сервер. Указание параметра ROLE необходимо. Однако роль конечной точки является значимой только для зеркального отображения базы данных. Для Группы доступности AlwaysOn роль конечной точки игнорируется.

      Чтобы сервер мог выполнять одну роль в одном сеансе зеркального отображения базы данных и другую — в другом, укажите ROLE=ALL. Чтобы ограничить роль сервера только участником или следящим, укажите ROLE=PARTNER или ROLE=WITNESS соответственно.

      ПримечаниеПримечание

      Дополнительные сведения о параметрах зеркального отображения баз данных для различных выпусков SQL Server см. в разделе Функции, поддерживаемые различными выпусками SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

    Полное описание синтаксиса инструкции CREATE ENDPOINT см. в разделе CREATE ENDPOINT (Transact-SQL).

    ПримечаниеПримечание

    Чтобы изменить существующую конечную точку, выполните инструкцию ALTER ENDPOINT (Transact-SQL).

Пример. Создание конечных точек для поддержки функции зеркального отображения базы данных (Transact-SQL)

В следующем примере создаются конечные точки зеркального отображения базы данных для экземпляров сервера по умолчанию на трех разных компьютерах.

Роль экземпляра сервера

Имя главного компьютера

Участник (изначально в роли основного сервера)

SQLHOST01\.

Участник (изначально в роли зеркального сервера)

SQLHOST02\.

Следящий

SQLHOST03\.

В этом примере все три конечные точки используют порт с номером 7022, хотя можно было бы использовать номер любого доступного порта. Параметр AUTHENTICATION необязателен, так как все конечные точки используют тип по умолчанию, проверку подлинности Windows. Параметр ENCRYPTION также необязателен, так как все конечные точки намереваются согласовывать метод проверки подлинности соединения, а это поведение по умолчанию — для проверки подлинности Windows. Также все конечные точки требуют шифрование, что также является поведением по умолчанию.

Каждый сервер ограничен ролью или участника, или следящего, и конечная точка каждого сервера явно задает эту роль (ROLE=PARTNER или ROLE=WITNESS).

Важное примечаниеВажно!

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Связанные задачи

Настройка конечной точки зеркального отображения базы данных

Просмотр сведений о конечной точке зеркального отображения базы данных

Значок стрелки, используемый со ссылкой «В начало»[В начало]

См. также

Справочник

ALTER ENDPOINT (Transact-SQL)

CREATE ENDPOINT (Transact-SQL)

Основные понятия

Выбор алгоритма шифрования

Указание сетевого адреса сервера (зеркальное отображение базы данных)

Пример. Настройка зеркального отображения базы данных с помощью проверки подлинности Windows (язык Transact-SQL)

Конечная точка зеркального отображения базы данных (SQL Server)