Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения:SQL Server
Создает конечные точки и определяет их параметры, включая методы, доступные клиентским приложениям. Сведения о связанных разрешениях см. в разделе GRANT Endpoint Permissions.
Синтаксис для CREATE ENDPOINT логических элементов можно разбить на две части:
Первая часть начинается с AS и заканчивается до
FORпредложения.В этой части задаются сведения, связанные с транспортным протоколом (TCP), устанавливается номер прослушиваемого порта для конечной точки, а также указывается метод проверки подлинности конечной точки и/или список IP-адресов (при наличии), доступ к конечной точке от которых нужно запретить.
Вторая часть начинается с
FORпредложения.В этой части определяется, какие полезные данные будут поддерживаться конечной точкой. Полезные данные могут иметь один из нескольких поддерживаемых типов: Transact-SQL, Service Broker, зеркальное отображение базы данных. В эту часть также включаются сведения, зависящие от выбранного типа.
Соглашения о синтаксисе Transact-SQL
Синтаксис
CREATE ENDPOINT endPointName [ AUTHORIZATION login ]
[ STATE = { STARTED | STOPPED | DISABLED } ]
AS { TCP } (
<protocol_specific_arguments>
)
FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (
<language_specific_arguments>
)
<AS TCP_protocol_specific_arguments> ::=
AS TCP (
LISTENER_PORT = listenerPort
[ [ , ] LISTENER_IP = ALL | ( four_part_ipv4_address ) | ( 'ip_address_v6' ) ]
)
<FOR TSQL_language_specific_arguments> ::=
FOR TSQL (
[ ENCRYPTION = { NEGOTIATED | STRICT } ]
)
<FOR SERVICE_BROKER_language_specific_arguments> ::=
FOR SERVICE_BROKER (
[ AUTHENTICATION = {
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
| CERTIFICATE certificate_name
| WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
| CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
} ]
[ [ , ] ENCRYPTION = {
DISABLED
| { SUPPORTED | REQUIRED }
[ ALGORITHM { AES | RC4 | AES RC4 | RC4 AES } ]
} ]
[ [ , ] MESSAGE_FORWARDING = { ENABLED | DISABLED } ]
[ [ , ] MESSAGE_FORWARD_SIZE = forward_size ]
)
<FOR DATABASE_MIRRORING_language_specific_arguments> ::=
FOR DATABASE_MIRRORING (
[ AUTHENTICATION = {
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
| CERTIFICATE certificate_name
| WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
| CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
} ]
[ [ , ] ENCRYPTION = {
DISABLED
| { SUPPORTED | REQUIRED }
[ ALGORITHM { AES | RC4 | AES RC4 | RC4 AES } ]
} ]
[ , ] ROLE = { WITNESS | PARTNER | ALL }
)
Аргументы
endPointName
Назначенное имя создаваемой конечной точки. Используется при обновлении или удалении конечной точки.
Имя входа АВТОРИЗАЦИИ
Указывает правильное имя входа для SQL Server или Windows, которое назначается владельцем только что созданного объекта конечной точки. Если авторизация не указана, по умолчанию вызывающий объект становится владельцем только что созданного объекта.
Чтобы назначить владельца при помощи аргумента AUTHORIZATION, вызывающий должен иметь разрешение IMPERSONATE для указанного значения login.
Параметр AUTHORIZATION недоступен в ALTER ENDPOINT. Владельца можно назначать только в момент создания конечной точки.
Чтобы переназначить владение, ознакомьтесь с разделом DROP ENDPOINT , а затем вернитесь к этой статье, чтобы повторно создать конечную точку.
STATE = { STARTED | ОСТАНОВЛЕНО | DISABLED }
Состояние конечной точки при его создании. Если состояние не указано при создании конечной точки, STOPPED используется по умолчанию.
STARTED
Конечная точка запущена и активно прослушивает соответствующий порт, ожидая соединений.
ОТКЛЮЧЕНО
Конечная точка отключена. В этом состоянии сервер прослушивает запросы к порту, но возвращает клиенту ошибку.
ОСТАНОВЛЕННЫЙ
Конечная точка остановлена. В этом состоянии сервер не прослушивает порт конечной точки или отвечает на какие-либо попытки использовать конечную точку.
Чтобы изменить состояние, используйте ALTER ENDPOINT.
AS { TCP }
Указывает используемый транспортный протокол.
FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
Указывает тип передаваемых полезных данных.
В настоящее время не существует аргументов языка Transact-SQL, которые передаются в параметре <language_specific_arguments>.
Параметр протокола TCP
Следующие аргументы относятся только к протоколу TCP.
LISTENER_PORT = прослушиватель
Указывает номер порта протокола TCP/IP, прослушиваемого компонентом Service Broker на предмет соединений. По соглашению используется 5022, но любое число от 1024 до 32767 является допустимым.
LISTENER_IP = ALL | (four_part_ipv4_address) | ( "ip_address_v6" )
Указывает IP-адрес, с которым конечная точка будет ожидать соединения. По умолчанию значение установлено в ALL. Это значит, что средство прослушивания примет соединение с любым верным IP-адресом.
При настройке зеркального отображения базы данных с IP-адресом вместо полного доменного имени (ALTER DATABASE SET PARTNER = partner_IP_address или ALTER DATABASE SET WITNESS = witness_IP_address) необходимо указать LISTENER_IP =IP_address вместо LISTENER_IP=ALL создания конечных точек зеркального отображения.
Параметры T-SQL
ENCRYPTION = { NEGOTIATED | STRICT }
Область применения: SQL Server 2022 (16.x) и более поздних версий
Указывает, как шифрование используется в процессе. Значение по умолчанию — NEGOTIATED по соображениям совместимости.
ПЕРЕГОВОРОВ
Способ шифрования соединения выполняется между сервером и клиентом. Фактическое установленное подключение может зашифровать:
- Только сообщение LOGIN7.
- Все сообщения, кроме PRELOGIN.
- Все сообщения.
СТРОГИЙ
Указывает, что все сообщения, отправленные в эту конечную точку, должны быть зашифрованы и резервный сертификат не будет представлен конечной точкой. Если заголовок TLS не является первым сообщением, сервер прерывает подключение.
параметры SERVICE_BROKER и DATABASE_MIRRORING
AUTHENTICATION Следующие и аргументы являются общими для SERVICE_BROKER и ENCRYPTIONDATABASE_MIRRORING параметров.
Примечание.
Дополнительные сведения о параметрах, относящихся к SERVICE_BROKERэтим параметрам, см. в разделе SERVICE_BROKER далее в этом разделе. Дополнительные сведения о параметрах, относящихся к DATABASE_MIRRORINGэтим параметрам, см. в разделе DATABASE_MIRRORING далее в этом разделе.
AUTHENTICATION = <authentication_options>
Указывает требования к проверке подлинности TCP/IP для подключений для этой конечной точки. Значение по умолчанию — WINDOWS.
Поддерживаемые методы проверки подлинности включают NTLM и(или) Kerberos.
Внимание
Все соединения зеркального отображения на экземпляре сервера используют одну конечную точку зеркального отображения базы данных. Любая попытка создания дополнительной конечной точки зеркального отображения баз данных приведет к ошибке.
WINDOWS [ { NTLM | KERBEROS | СОГЛАСОВАНИЕ } ]
Указывает, что конечная точка будет подключена с использованием протокола проверки подлинности Windows. Это значение по умолчанию.
Если указать метод авторизации (NTLM или KERBEROS), этот метод всегда используется в качестве протокола проверки подлинности. Значение по умолчанию приводит к тому, NEGOTIATEчто конечная точка использует протокол согласования Windows для выбора NTLM или Kerberos.
СЕРТИФИКАТ certificate_name
Указывает на то, что конечная точка будет проводить проверку подлинности подключений при помощи сертификата, указанного в аргументе certificate_name, для определения идентификатора для авторизации. Противоположная конечная точка должна иметь сертификат с открытым ключом, совпадающим с закрытым ключом указанного сертификата.
WINDOWS [ { NTLM | KERBEROS | СОГЛАСОВАНИЕ } ] СЕРТИФИКАТ certificate_name
Указывает на то, что конечная точка будет производить попытки подключения при помощи проверки подлинности Windows и, в случае неудачи, будет пытаться использовать указанный сертификат.
СЕРТИФИКАТ certificate_name WINDOWS [ { NTLM | KERBEROS | СОГЛАСОВАНИЕ } ]
Указывает на то, что конечная точка будет производить попытки подключения при помощи указанного сертификата и, в случае неуспеха, будет пытаться использовать проверку подлинности Windows.
ENCRYPTION = { DISABLED | ПОДДЕРЖИВАЕТСЯ | ОБЯЗАТЕЛЬНЫЙ } [ АЛГОРИТМ { AES | RC4 | AES RC4 | RC4 AES } ]
Указывает, будет ли использоваться шифрование в процессе. Значение по умолчанию — REQUIRED.
ОТКЛЮЧЕНО
Указывает, что данные, отправленные через подключение, не шифруются.
SUPPORTED
Указывает, что данные шифруются только в том случае, если обратная конечная точка указывает либо SUPPORTED или REQUIRED.
ОБЯЗАТЕЛЬНО
Указывает на то, что соединение с этой конечной точкой должно использовать шифрование. Таким образом, чтобы подключиться к этой конечной точке, другой конечной точке должно быть ENCRYPTION задано значение SUPPORTED или REQUIRED.
При необходимости аргумент можно использовать ALGORITHM для указания формы шифрования, используемой конечной точкой, следующим образом:
AES
Указывает на то, что конечная точка должна использовать алгоритм AES. Это значение по умолчанию в SQL Server 2016 (13.x) и более поздних версий.
RC4;
Указывает на то, что конечная точка должна использовать алгоритм RC4. Это значение по умолчанию в SQL Server 2014 (12.x) и более ранних версий.
Примечание.
Алгоритм RC4 поддерживается только в целях обратной совместимости. Когда база данных имеет уровень совместимости 90 или 100, новые материалы могут шифроваться только с помощью алгоритмов RC4 или RC4_128. (Не рекомендуется.) Используйте вместо этого более новые алгоритмы, например AES. В SQL Server 2012 (11.x) и более поздних версиях материалы, зашифрованные с помощью RC4 или RC4_128, можно расшифровать на любом уровне совместимости.
AES RC4
Указывает на то, что две конечные точки будут согласовывать алгоритм шифрования, оставляя приоритет за алгоритмом AES.
RC4 AES
Указывает на то, что две конечные точки будут согласовывать алгоритм шифрования, оставляя приоритет за алгоритмом RC4.
Примечание.
Алгоритм RC4 устарел. Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого рекомендуется использовать алгоритм AES.
Если обе конечные точки указывают оба алгоритма, но в разной последовательности, то используется та, которая указана на принимающей стороне.
параметры SERVICE_BROKER
Следующие аргументы относятся к параметру SERVICE_BROKER .
MESSAGE_FORWARDING = { ENABLED | DISABLED }
Определяет, будут ли перенаправлены сообщения, полученные конечной точкой и предназначенные для служб, расположенных в других местах.
ВКЛЮЧЕНО
Переадресация сообщений, если адрес пересылки доступен.
ОТКЛЮЧЕНО
Удаляет сообщения, предназначенные для служб, расположенных в других местах. Это значение по умолчанию.
MESSAGE_FORWARD_SIZE = forward_size
Указывает максимальный объем хранилища в мегабайтах для размещения в нем сообщений конечной точки, предназначенных для перенаправления.
параметры DATABASE_MIRRORING
Следующие параметры используются, если указан аргумент DATABASE_MIRRORING.
ROLE = { СВИДЕТЕЛЬ | ПАРТНЕР | ALL }
Указывает роль в зеркальном отображении базы данных или роли, поддерживаемые конечной точкой.
WITNESS
Позволяет конечной точке выполнять роль следящего сервера в процессе зеркального отображения.
Примечание.
Для выпуска SQL Server 2005 Express WITNESS доступен единственный вариант.
PARTNER
Позволяет конечной точке выполнять роль участника в процессе зеркального отображения.
ВСЕ
Позволяет конечной точке выполнять как роль следящего сервера, так и роль участника в процессе зеркального отображения.
Дополнительные сведения об этих ролях см. в статье Зеркальное отображение базы данных (SQL Server).
Примечание.
Нет порта по умолчанию для DATABASE_MIRRORING.
Замечания
ENDPOINT DDL операторы не могут выполняться внутри транзакции пользователя.
ENDPOINT DDL операторы не завершаются ошибкой, даже если активная транзакция уровня изоляции моментальных снимков использует измененную конечную точку.
Запросы можно выполнить в ENDPOINT следующих случаях:
членами предопределенной роли сервера sysadmin;
владельцем конечной точки;
Пользователи или группы, которым предоставлено
CONNECTразрешение на конечную точку
Разрешения
Требуется CREATE ENDPOINT разрешение или членство в предопределенных ролях сервера sysadmin . Дополнительные сведения см. в разделе GRANT Endpoint Permissions.
Примеры
Создание конечной точки зеркального отображения базы данных
В следующем примере создается конечная точка зеркального отображения базы данных. Конечная точка использует номер порта 7022, хотя допустим любой доступный номер порта. Конечная точка настроена на использование проверки подлинности Windows только по методу Kerberos. Аргумент ENCRYPTION имеет значение SUPPORTED, отличное от значения по умолчанию, для передачи зашифрованных или незашифрованных данных. Конечная точка может выступать как в роли участника, так и в роли следящего сервера.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP (LISTENER_PORT = 7022)
FOR DATABASE_MIRRORING (
AUTHENTICATION = WINDOWS KERBEROS,
ENCRYPTION = SUPPORTED,
ROLE = ALL);
GO
Создайте новую конечную точку, указывающую на определенные IPv4-адрес и порт
CREATE ENDPOINT ipv4_endpoint_special
STATE = STARTED
AS TCP (
LISTENER_PORT = 32766,
LISTENER_IP = (10.0.75.1)
)
FOR TSQL ();
-- Keep existing public permission on default endpoint for demo purpose
GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] TO public;
GRANT CONNECT ON ENDPOINT::ipv4_endpoint_special TO login_name;
Создайте новую конечную точку, указывающую на определенные IPv6-адрес и порт
CREATE ENDPOINT ipv6_endpoint_special STATE = STARTED AS TCP (
LISTENER_PORT = 32766,
LISTENER_IP = ('::1')
)
FOR TSQL();
GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] TO PUBLIC;
GRANT CONNECT ON ENDPOINT::ipv6_endpoint_special TO PUBLIC;
Создание новой конечной точки с строгим шифрованием
CREATE ENDPOINT [TDSSConnection]
STATE = STARTED
AS TCP (
LISTENER_PORT = 1433,
LISTENER_IP = ALL
)
FOR TSQL (
ENCRYPTION = STRICT
);
GO