Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Cria pontos de extremidade e define suas propriedades, incluindo os métodos disponíveis para aplicativos cliente. Para obter informações sobre permissões relacionadas, consulte GRANT Endpoint Permissions (Transact-SQL).
A sintaxe de CREATE ENDPOINT pode logicamente ser dividida em duas partes:
A primeira parte começa com AS e termina antes da cláusula FOR.
Nesta parte, você fornece informações específicas para o protocolo de transporte (TCP) e define um número de porta de escuta para o ponto de extremidade, bem como o método de autenticação de ponto de extremidade e/ou uma lista de endereços IP (se houver) que você deseja restringir de acessar o ponto de extremidade.
A segunda parte começa com a cláusula FOR.
Nesta parte, você define a carga útil suportada no ponto de extremidade. A carga útil pode ser um dos vários tipos suportados: Transact-SQL, service broker, espelhamento de banco de dados. Nesta parte, você também inclui informações específicas do idioma.
Observação
XML Web Services nativos (pontos de extremidade SOAP/HTTP) foi removido no SQL Server 2012 (11.x).
Transact-SQL convenções de sintaxe
Sintaxe
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 | ( xx.xx.xx.xx IPv4 address ) | ( '__:__1' IPv6 address ) ]
)
<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 }
)
Arguments
endPointName
O nome atribuído para o ponto de extremidade que você está criando. Use ao atualizar ou excluir o ponto de extremidade.
Login AUTORIZAÇÃO
Especifica um logon válido do SQL Server ou do Windows ao qual é atribuída a propriedade do objeto de ponto de extremidade recém-criado. Se AUTHORIZATION não for especificado, por padrão, o chamador se tornará proprietário do objeto recém-criado.
Para atribuir a propriedade especificando AUTHORIZATION, o chamador deve ter permissão IMPERSONATE no login especificado.
A opção AUTHORIZATION não está disponível no ALTER ENDPOINT. A propriedade só pode ser atribuída quando o ponto de extremidade é criado.
Para reatribuir a propriedade, consulte DROP ENDPOINT (Transact-SQL) e retorne a este artigo para recriar o ponto de extremidade.
ESTADO = { INICIADO | PAROU | DEFICIENTES }
O estado do ponto de extremidade quando ele é criado. Se o estado não for especificado quando o ponto de extremidade for criado, STOPPED será o padrão.
INÍCIO
O ponto de extremidade é iniciado e está escutando ativamente as conexões.
DEFICIENTES
O ponto de extremidade está desativado. Nesse estado, o servidor escuta as solicitações de porta, mas retorna erros aos clientes.
PAROU
O ponto de extremidade é interrompido. Nesse estado, o servidor não escuta a porta do ponto de extremidade nem responde a nenhuma tentativa de solicitação de uso do ponto de extremidade.
Para alterar o estado, use ALTER ENDPOINT (Transact-SQL).
AS { TCP }
Especifica o protocolo de transporte a ser usado.
PARA { TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
Especifica o tipo de carga útil.
Atualmente, não há Transact-SQL argumentos específicos de idioma para passar o <language_specific_arguments> parâmetro.
Opção de protocolo TCP
Os argumentos a seguir se aplicam somente à opção de protocolo TCP.
LISTENER_PORT = listenerPort
Especifica o número da porta escutado para conexões pelo protocolo TCP/IP do agente de serviços. Por convenção, 5022 é usado, mas qualquer número entre 1024 e 32767 é válido.
LISTENER_IP = TODOS | (4 partes-IP) | ( "ip_address_v6" )
Especifica o endereço IP no qual o ponto de extremidade escutará. O padrão é ALL. Isso significa que o ouvinte aceitará uma conexão em qualquer endereço IP válido.
Se você configurar o espelhamento de banco de dados com um endereço IP em vez de um nome de domínio totalmente qualificado (ALTER DATABASE SET PARTNER = partner_IP_address ou ALTER DATABASE SET WITNESS = witness_IP_address), será necessário especificar LISTENER_IP =IP_address em vez de quando criar pontos de LISTENER_IP=ALL extremidade de espelhamento.
Opções T-SQL
ENCRIPTAÇÃO = { NEGOCIADO | ESTRITO }
Aplica-se a: SQL Server 2022 (16.x) e posterior
Especifica como a criptografia é usada no processo. O padrão é NEGOCIADO por motivos de compatibilidade.
NEGOCIADO
A forma como a conexão é criptografada é negociada entre o servidor e o cliente. A conexão real estabelecida pode criptografar:
- Apenas a mensagem LOGIN7.
- Todas as mensagens, exceto PRELOGIN.
- Todas as mensagens.
RIGOROSO
Especifica que todas as mensagens enviadas para esse ponto de extremidade devem ser criptografadas e o certificado de fallback não seria apresentado pelo ponto de extremidade. Se o cabeçalho TLS não for a primeira mensagem, o servidor interromperá a conexão.
Opções SERVICE_BROKER e DATABASE_MIRRORING
Os seguintes argumentos AUTHENTICATION e ENCRYPTION são comuns às opções SERVICE_BROKER e DATABASE_MIRRORING.
Observação
Para opções específicas do SERVICE_BROKER, consulte "Opções de SERVICE_BROKER", mais adiante nesta seção. Para opções específicas do DATABASE_MIRRORING, consulte "Opções de DATABASE_MIRRORING", mais adiante nesta seção.
AUTENTICAÇÃO = <authentication_options>
Especifica os requisitos de autenticação TCP/IP para conexões para este ponto de extremidade. O valor predefinido é WINDOWS.
Os métodos de autenticação suportados incluem NTLM e/ou Kerberos ou ambos.
Importante
Todas as conexões de espelhamento em uma instância de servidor usam um único ponto de extremidade de espelhamento de banco de dados. Qualquer tentativa de criar um ponto de extremidade de espelhamento de banco de dados adicional falhará.
WINDOWS [ { NTLM | KERBEROS - Brasil | NEGOCIAR } ]
Especifica que o ponto de extremidade deve se conectar usando o protocolo de Autenticação do Windows para autenticar os pontos de extremidade. Este é o padrão.
Se você especificar um método de autorização (NTLM ou KERBEROS), esse método será sempre usado como o protocolo de autenticação. O valor padrão, NEGOTIATE, faz com que o ponto de extremidade use o protocolo de negociação do Windows para escolher NTLM ou Kerberos.
CERTIFICADO certificate_name
Especifica que o ponto de extremidade deve autenticar a conexão usando o certificado especificado por certificate_name para estabelecer a identidade para autorização. O ponto de extremidade distante deve ter um certificado com a chave pública correspondente à chave privada do certificado especificado.
WINDOWS [ { NTLM | KERBEROS - Brasil | NEGOCIAR } ] CERTIFICADO certificate_name
Especifica que o ponto de extremidade deve tentar se conectar usando a Autenticação do Windows e, se essa tentativa falhar, tentar usar o certificado especificado.
CERTIFICADO certificate_name WINDOWS [ { NTLM | KERBEROS - Brasil | NEGOCIAR } ]
Especifica que o ponto de extremidade deve tentar se conectar usando o certificado especificado e, se essa tentativa falhar, tentar usar a Autenticação do Windows.
ENCRIPTAÇÃO = { DESATIVADO | SUPORTADO | NECESSÁRIO } [ ALGORITMO { AES | RC4 | AES RC4 | RC4 AES } ]
Especifica se a criptografia é usada no processo. O padrão é REQUIRED.
DEFICIENTES
Especifica que os dados enviados por uma conexão não são criptografados.
SUPORTADO
Especifica que os dados serão criptografados somente se o ponto de extremidade oposto especificar SUPPORTED ou REQUIRED.
NECESSÁRIO
Especifica que as conexões com esse ponto de extremidade devem usar criptografia. Portanto, para se conectar a esse ponto de extremidade, outro ponto de extremidade deve ter ENCRYPTION definido como SUPPORTED ou REQUIRED.
Opcionalmente, você pode usar o argumento ALGORITHM para especificar a forma de criptografia usada pelo ponto de extremidade, da seguinte maneira:
AES
Especifica que o ponto de extremidade deve usar o algoritmo AES. Este é o padrão no SQL Server 2016 (13.x) e posterior.
RC4
Especifica que o ponto de extremidade deve usar o algoritmo RC4. Esse é o padrão por meio do SQL Server 2014 (12.x).
Observação
O algoritmo RC4 só é suportado para compatibilidade com versões anteriores. O novo material só pode ser encriptado utilizando RC4 ou RC4_128 quando a base de dados estiver no nível de compatibilidade 90 ou 100. (Não recomendado.) Em vez disso, use um algoritmo mais recente, como um dos algoritmos AES. No SQL Server 2012 (11.x) e versões posteriores, o material criptografado usando RC4 ou RC4_128 pode ser descriptografado em qualquer nível de compatibilidade.
AES RC4
Especifica que os dois pontos de extremidade negociarão um algoritmo de criptografia com esse ponto de extremidade dando preferência ao algoritmo AES.
RC4 AES
Especifica que os dois pontos de extremidade negociarão um algoritmo de criptografia com esse ponto de extremidade dando preferência ao algoritmo RC4.
Observação
O algoritmo RC4 foi preterido. Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Recomendamos que você use AES.
Se ambos os pontos de extremidade especificarem ambos os algoritmos, mas em ordens diferentes, o ponto de extremidade que aceita a conexão vence.
SERVICE_BROKER Opções
Os argumentos a seguir são específicos para a opção SERVICE_BROKER.
MESSAGE_FORWARDING = { ATIVADO | DEFICIENTES }
Determina se as mensagens recebidas por este ponto de extremidade que são para serviços localizados em outro lugar serão encaminhadas.
ATIVADO
Encaminhar mensagens se um endereço de encaminhamento estiver disponível.
DEFICIENTES
Descarta mensagens para serviços localizados em outro lugar. Este é o padrão.
MESSAGE_FORWARD_SIZE = forward_size
Especifica a quantidade máxima de armazenamento em megabytes a ser alocada para o ponto de extremidade a ser usado ao armazenar mensagens a serem encaminhadas.
Opções DATABASE_MIRRORING
O argumento a seguir é específico para a opção DATABASE_MIRRORING.
PAPEL = { TESTEMUNHA | PARCEIRO | TODOS }
Especifica a função ou funções de espelhamento de banco de dados suportadas pelo ponto de extremidade.
TESTEMUNHA
Permite que o ponto de extremidade desempenhe o papel de testemunha no processo de espelhamento.
Observação
Para o SQL Server 2005 Express edition, WITNESS é a única opção disponível.
PARCEIRO
Permite que o ponto de extremidade desempenhe a função de um parceiro no processo de espelhamento.
ALL
Permite que o ponto de extremidade desempenhe o papel de testemunha e parceiro no processo de espelhamento.
Para obter mais informações sobre essas funções, consulte Espelhamento de banco de dados (SQL Server).
Observação
Não há nenhuma porta padrão para DATABASE_MIRRORING.
Observações
As instruções ENDPOINT DDL não podem ser executadas dentro de uma transação do usuário. As instruções DDL do ENDPOINT não falham mesmo se uma transação de nível de isolamento de instantâneo ativo estiver usando o ponto de extremidade que está sendo alterado.
As solicitações podem ser executadas em um ENDPOINT da seguinte forma:
Membros da função de servidor fixa sysadmin
O proprietário do ponto de extremidade
Usuários ou grupos aos quais foi concedida permissão CONNECT no ponto de extremidade
Permissions
Requer a permissão CREATE ENDPOINT ou a associação à função de servidor fixa sysadmin . Para obter mais informações, consulte GRANT Endpoint Permissions (Transact-SQL).
Example
Criar um ponto de extremidade de espelhamento de banco de dados
O exemplo a seguir cria um ponto de extremidade de espelhamento de banco de dados. O ponto de extremidade usa o número 7022da porta, embora qualquer número de porta disponível funcione. O ponto de extremidade está configurado para usar a Autenticação do Windows usando apenas Kerberos. A ENCRYPTION opção é configurada com o valor não padrão de SUPPORTED para suportar dados criptografados ou não criptografados. O ponto de extremidade está sendo configurado para suportar as funções de parceiro e testemunha.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (
AUTHENTICATION = WINDOWS KERBEROS,
ENCRYPTION = SUPPORTED,
ROLE=ALL);
GO
Criar um novo ponto de extremidade apontando para um endereço IPv4 e uma porta específicos
CREATE ENDPOINT ipv4_endpoint_special
STATE = STARTED
AS TCP (
LISTENER_PORT = 55555, LISTENER_IP = (10.0.75.1)
)
FOR TSQL ();
GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] TO public; -- Keep existing public permission on default endpoint for demo purpose
GRANT CONNECT ON ENDPOINT::ipv4_endpoint_special
TO login_name;
Criar um novo ponto de extremidade apontando para um endereço IPv6 e uma porta específicos
CREATE ENDPOINT ipv6_endpoint_special STATE = STARTED AS TCP (
LISTENER_PORT = 55555,
LISTENER_IP = ('::1')
)
FOR TSQL();
GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] TO PUBLIC;
GRANT CONNECT ON ENDPOINT::ipv6_endpoint_special TO PUBLIC;
Criar um novo ponto de extremidade com criptografia estrita
CREATE ENDPOINT [TDSSConnection]
STATE = STARTED
AS TCP
(LISTENER_PORT = 1433, LISTENER_IP = ALL)
FOR TSQL
(ENCRYPTION = STRICT ) ;
GO