Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
В этом разделе описано, как создать конечную точку зеркального отображения базы данных с использованием проверки подлинности Windows в SQL Server с помощью Transact-SQL. Для поддержки зеркального отображения базы данных или групп доступности Always On каждому экземпляру SQL Server требуется конечная точка зеркального отображения базы данных. На экземпляре сервера может быть только одна конечная точка зеркального отображения базы данных, которой назначен только один порт. Конечная точка зеркального отображения базы данных может использовать любой порт, доступный в локальной системе, при создании этой конечной точки. Все сеансы зеркального отображения базы данных на экземпляре сервера прослушивают этот порт, и все входящие соединения для зеркального отображения базы данных используют этот порт.
Внимание
Если конечная точка зеркального отображения базы данных существует и уже используется, рекомендуется использовать именно эту конечную точку. Удаление используемой конечной точки нарушает работу существующих сеансов.
Безопасность
Методы проверки подлинности и шифрования для каждого экземпляра сервера устанавливаются администратором системы.
Предупреждение
Алгоритм RC4 устарел. Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого рекомендуется использовать алгоритм AES.
Разрешения
Требует разрешения CREATE ENDPOINT или членства в предопределенной роли сервера sysadmin. Дополнительные сведения см. в разделе GRANT "Разрешения конечной точки" (Transact-SQL).
Использование Transact-SQL
Создать конечную точку зеркального отображения базы данных с использованием проверки подлинности Windows
Подключитесь к экземпляру SQL Server, для которого требуется создать конечную точку зеркального отображения базы данных.
На панели «Стандартная» нажмите Создать запрос.
Проверьте, существует ли уже конечная точка зеркального отображения базы данных, с помощью следующей инструкции:
SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints;Внимание
Если для этого экземпляра сервера уже существует конечная точка зеркального отображения базы данных, используйте эту конечную точку для всех других сеансов, которые вы устанавливаете на этом экземпляре сервера.
Чтобы с помощью Transact-SQL создать конечную точку для использования с проверкой подлинности Windows, используйте инструкцию
CREATE ENDPOINT. Утверждение имеет следующий общий вид:CREATE ENDPOINT *\<endpointName>* STATE=STARTED AS TCP ( LISTENER_PORT = *\<listenerPortList>* ) FOR 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. Согласование позволяет устанавливать соединения с проверкой подлинности и без нее в зависимости от уровня аутентификации другой конечной точки.
Примечание.
Чтобы использовать аутентификацию Kerberos для связи между конечными точками группы доступности (AG), зарегистрируйте имя участника-службы для подключений Kerberos для конечных точек зеркального отображения базы данных, используемых AG.
По умолчанию параметр ENCRYPTION имеет значение REQUIRED. Это означает, что все соединения с этой конечной точкой должны использовать шифрование. Однако можно отключить шифрование или сделать его необязательным на конечной точке. Существуют следующие варианты.
Значение Определение ОТКЛЮЧЕНО Указывает на то, что данные, передаваемые через соединение, не будут зашифрованы. Поддерживается Указывает на то, что данные будут зашифрованы только в случае, если у противоположной конечной точки этот аргумент принял значение SUPPORTED или REQUIRED. ОБЯЗАТЕЛЬНО Указывает на то, что данные, передаваемые через соединение, шифруются. Если одна конечная точка требует шифрования, то для другой конечной точки параметр ENCRYPTION должен быть установлен в значение SUPPORTED или REQUIRED.
<Алгоритм> предоставляет параметр определения стандартов шифрования для конечной точки. Значение <algorithm> может указывать один из следующих алгоритмов либо сочетание алгоритмов: RC4, AES, AES RC4 или RC4 AES.
Алгоритм AES для конечной точки зеркального отображения базы данных использует 128-разрядную длину ключа.
Алгоритм AES RC4 определяет, что данная конечная точка будет согласовывать алгоритм шифрования, отдавая предпочтение алгоритму AES. Алгоритм RC4 AES определяет, что данная конечная точка будет согласовывать алгоритм шифрования, отдавая предпочтение алгоритму RC4. Если обе конечные точки задают оба алгоритма, но в разном порядке, приоритет имеет конечная точка, принимающая соединение. Явно укажите тот же алгоритм, чтобы избежать ошибок соединения между разными серверами.
Предупреждение
Алгоритм RC4 устарел. Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого рекомендуется использовать алгоритм AES.
<Роль> определяет роль или роли, которые может выполнять сервер. Указание ROLE является обязательным. Однако роль конечной точки является значимой только для зеркального отображения базы данных. Для групп доступности Always On роль конечной точки игнорируется.
Чтобы экземпляр сервера мог выступать в одной роли для одного сеанса зеркального отображения базы данных, а в другом сеансе — в другой роли, укажите ROLE = ALL. Чтобы ограничить роль сервера только участником или следящим, укажите
ROLE = PARTNERилиROLE = WITNESS, соответственно.Примечание.
Список функций, поддерживаемых редакциями SQL Server, см. раздел «Редакции и поддерживаемые функции SQL Server 2016».
Полное описание синтаксиса 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
Связанные задачи
Настройка конечной точки зеркального отображения базы данных
Использование сертификатов для конечной точки зеркального отображения базы данных (Transact-SQL)
Указание сетевого адреса сервера (зеркальное отображение базы данных)
Укажите URL-адрес конечной точки при добавлении или изменении реплики доступности (SQL Server)
Просмотр сведений о конечной точке зеркального отображения базы данных
Связанные материалы
- ALTER ENDPOINT (Transact-SQL)
- Выбор алгоритма шифрования
- CREATE ENDPOINT (Transact-SQL)
- Указание сетевого адреса сервера (зеркальное отображение базы данных)
- Пример: Настройка зеркалирования базы данных с помощью проверка подлинности Windows (Transact-SQL)
- Конечная точка зеркального отображения базы данных (SQL Server)