CREATE ENDPOINT (Transact-SQL)

Cria pontos de extremidade e define suas propriedades, incluindo os métodos disponíveis para os aplicativos clientes. Para obter informações de permissões relacionadas, consulte Permissões de ponto de extremidade GRANT (Transact-SQL).

A sintaxe para CREATE ENDPOINT pode ser dividida logicamente em duas partes:

  • A primeira parte começa com AS e termina antes da cláusula FOR.

    Nessa parte, você fornece informações específicas para o protocolo de transporte com o TCP ou HTTP e define um número de porta de escuta para o ponto de extremidade, como também o método de autenticação do ponto de extremidade e/ou uma lista de endereços IP (se houver) para os quais você quer restringir acesso ao ponto de extremidade.

  • A segunda parte começa com a cláusula FOR.

    Nessa parte, você define a carga útil que tem suporte no ponto de extremidade. A carga útil pode ser uma de vários tipos com suporte: SOAP, Transact-SQL, agente de serviços, espelhamento de banco de dados. Nesta parte, você inclui também informações específicas de linguagem. Por exemplo, usando o HTTP SOAP, você identifica os procedimentos que deseja expor no ponto de extremidade como métodos Web. Para cada método Web você identifica um procedimento armazenado correspondente SQL Server ou uma função definida pelo usuário para a qual ele mapeia. Um aplicativo cliente pode enviar então solicitações HTTP SOAP que chamam esses métodos no ponto de extremidade. Você também pode fornecer informações de configuração SOAP adicionais, como as seguintes:

    • Se devem ser permitidas solicitações de consulta ad hoc

    • Se devem ser retornados esquemas XSD para o conjunto de resultados

    • O contexto de banco de dados no qual os métodos solicitados são executados

    • O namespace do ponto de extremidade

    • Como tratar caracteres no resultado que não são válidos em XML

ObservaçãoObservação

No SQL Server 2008, os XML Web Services nativos (pontos de extremidade SOAP/HTTP) foram substituídos. Para obter mais informações, consulte XML Web Services Nativos: preteridos no SQL Server 2008.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

CREATE ENDPOINT endPointName [ AUTHORIZATION login ]
[ STATE = { STARTED | STOPPED | DISABLED } ]
AS { HTTP | TCP } (
   <protocol_specific_arguments>
        )
FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (
   <language_specific_arguments>
        )

<AS HTTP_protocol_specific_arguments> ::=
AS HTTP (
  PATH = 'url'
      , AUTHENTICATION = ( { BASIC | DIGEST | INTEGRATED | NTLM | KERBEROS } [ ,...n ] )
      , PORTS = ( { CLEAR | SSL} [ ,... n ] )
  [ SITE = {'*' | '+' | 'webSite' },]
  [ [ , ] CLEAR_PORT = clearPort ]
  [ [ , ] SSL_PORT = SSLPort ]
  [ [ , ] AUTH_REALM = { 'realm' | NONE } ]
  [ [ , ] DEFAULT_LOGON_DOMAIN = { 'domain' | NONE } ]
  [ [ , ] COMPRESSION = { ENABLED | DISABLED } ]
  )

<AS TCP_protocol_specific_arguments> ::=
AS TCP (
  LISTENER_PORT = listenerPort
  [ [ , ] LISTENER_IP = ALL | ( 4-part-ip ) | ( "ip_address_v6" ) ]

)

<FOR SOAP_language_specific_arguments> ::=
FOR SOAP(
  [ { WEBMETHOD [ 'namespace' .] 'method_alias' 
    (   NAME = 'database.schema.name'
      [ [ , ] SCHEMA = { NONE | STANDARD | DEFAULT } ]
      [ [ , ] FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE } ]
    )  
  } [ ,...n ] ]
  [ [ , ] BATCHES = { ENABLED | DISABLED } ]
  [ [ , ] WSDL = { NONE | DEFAULT | 'sp_name' } ]
  [ [ , ] SESSIONS = { ENABLED | DISABLED } ]
  [ [ , ] LOGIN_TYPE = { MIXED | WINDOWS } ]
  [ [ , ] SESSION_TIMEOUT = timeoutInterval | NEVER ]
  [ [ , ] DATABASE = { 'database_name' | DEFAULT }
  [ [ , ] NAMESPACE = { 'namespace' | DEFAULT } ]
  [ [ , ] SCHEMA = { NONE | STANDARD } ]
  [ [ , ] CHARACTER_SET = { SQL | XML } ]
  [ [ , ] HEADER_LIMIT = int ])<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 { RC4 | AES | 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 { RC4 | AES | AES RC4 | RC4 AES } ] } 

    ] 
   [ , ] ROLE = { WITNESS | PARTNER | ALL }
)

Argumentos

  • endPointName
    É o nome atribuído ao ponto de extremidade que está sendo criado. Use ao atualizar ou excluir o ponto de extremidade.

  • AUTHORIZATION login
    Especifica um logon de SQL Server ou Windows válido, ao qual é atribuído 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 propriedade especificando AUTHORIZATION, o chamador deve ter permissão IMPERSONATE no login especificado.

    Para reatribuir propriedade, consulte ALTER ENDPOINT (Transact-SQL).

  • STATE = { STARTED | STOPPED | DISABLED }
    É 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.

    • STARTED
      O ponto de extremidade é iniciado e está escutando ativamente as conexões.

    • DISABLED
      O ponto de extremidade é desabilitado. Nesse estado, o servidor não escuta a porta do ponto de extremidade nem responde a nenhuma solicitação tentada para usar o ponto de extremidade.

    • STOPPED
      O ponto de extremidade é interrompido. Nesse estado, o servidor escuta as solicitações da porta, mas devolve erros aos clientes.

    Para alterar o estado, use ALTER ENDPOINT (Transact-SQL).

  • AS { HTTP | TCP }
    Especifica o protocolo de transporte a ser usado.

  • FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
    Especifica o tipo de carga útil.

    No momento, não há nenhum argumento específico de linguagem Transact-SQL a ser passado no parâmetro <language_specific_arguments>.

    No SQL Server 2008, os XML Web Services nativos (pontos de extremidade SOAP/HTTP) foram substituídos. Para obter mais informações, consulte XML Web Services Nativos: preteridos no SQL Server 2008.

Opção protocolo HTTP

O que segue aplica-se apenas à opção protocolo HTTP.

  • PATH = 'url'
    Especifica o caminho URL que identifica o local do ponto de extremidade no computador host especificado no argumento SITE. PATH é um particionamento lógico do namespace URL usado pelo ouvinte para rotear solicitações adequadamente. PATH deve fazer parte do URL que o cliente usa para enviar solicitações HTTP SOAP a uma instância do SQL Server. Por exemplo, no URL https://ServerName/Sql, Servername é o computador host especificado por SITE e /Sql é o URL especificado por PATH.

  • AUTHENTICATION = ( { BASIC | DIGEST | NTLM | KERBEROS | INTEGRATED } [ ,...n ] )
    Especifica o tipo de autenticação que costumava autenticar usuários que faziam logon em uma instância do SQL Server. Você pode especificar BASIC, DIGEST, NTLM, KERBEROS ou INTEGRATED ou uma combinação desses valores separados por vírgulas (). Para obter mais informações, consulte Tipos de autenticação de ponto de extremidade.

  • PORTS**=(** { CLEAR | SSL} [ ,... n ] )
    Especifica um ou mais tipos de portas de escuta associados ao ponto de extremidade. CLEAR e SSL podem ser especificados ao mesmo tempo. Se somente CLEAR for especificado, as solicitações de entrada deverão usar o HTTP. Se SSL for especificado, as solicitações de entrada deverão ser solicitações de HTTP Seguro (https://).

  • [ SITE = { ' * ' | ' + ' | 'webSite' } ]
    Especifica o nome do computador host. Se SITE for omitido, asterisco será o padrão. Se sp_reserve_http_namespace tiver sido executado, passe <hostpart> para a palavra-chave SITE. Por exemplo, se sp_reserve_http_namespace N'http://MyServer:80/sql' tiver sido executado, especifique SITE='MyServer na instrução CREATE ENDPOINT.

    • * (asterisco)
      Indica que uma operação de escuta se aplica a todos os possíveis nomes de host para o computador que não foi explicitamente reservado.

    • + (sinal de mais)
      Indica que uma operação de escuta se aplica a todos os possíveis nomes de host para o computador.

    • webSite
      É o nome de host específico do computador.

  • [ CLEAR_PORT **=**clearPort ]
    Especifica o número da porta apagado. Se PORTS = (CLEAR), esse clearPort especifica o número da porta apagado. O número da porta padrão é 80.

  • [ SSL_PORT**=**SSLPort ]
    Especifica o número da porta SSL. Se PORTS = (SSL), esse SSLPort especifica o número da porta SSL. O número da porta SSL padrão é 443.

  • [ AUTH_REALM = { 'realm' | NONE } ]
    IF AUTHENTICATION = DIGEST especifica a dica que retorna ao cliente que enviou a solicitação SOAP ao ponto de extremidade, como parte do desafio da autenticação HTTP. O padrão é NONE.

  • [ DEFAULT_LOGON_DOMAIN = { 'domain' | NONE } ]
    Se AUTHENTICATION = BASIC, especifica o domínio de logon padrão. O padrão é NONE.

  • [ COMPRESSION = { ENABLED | DISABLED } ]
    Se definido como ENABLED, o SQL Server honrará as solicitações onde a codificação gzip é aceita e retornará respostas compactadas. Ou seja, se entrar uma solicitação com um cabeçalho HTTP especificando GZIP como uma "codificação aceita" válida, o servidor retornará a resposta codificada por gzip. O padrão é DISABLED.

Opção protocolo TCP

Os argumentos a seguir se aplicam apenas à opção protocolo TCP.

  • LISTENER_PORT **=**listenerPort
    Especifica o número da porta de escuta para conexões pelo protocolo TCP/IP service broker. Por convenção, 4022 é usado, mas qualquer número entre 1024 e 32767 é válido.

  • LISTENER_IP = ALL | **(**4-part-ip ) | ( "ip_address_v6" )
    Especifica o endereço IP de escuta do ponto de extremidade. 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 LISTENER_IP=ALL, ao criar pontos de extremidade de espelhamento.

Argumentos SOAP

Os argumentos a seguir são específicos da opção SOAP.

ObservaçãoObservação

No SQL Server 2008, os XML Web Services nativos (pontos de extremidade SOAP/HTTP) foram substituídos. Para obter mais informações, consulte XML Web Services Nativos: preteridos no SQL Server 2008.

  • [ WEBMETHOD [ 'namespace' .] 'method_alias' ]
    Especifica um método para o qual você pode enviar solicitações HTTP SOAP a um ponto de extremidade. Cada cláusula WEBMETHOD descreve um método; porém, vários podem ser expostos para o ponto de extremidade. Se namespace não for especificado, o namespace do ponto de extremidade será assumido.

    Você pode criar um ponto de extremidade sem qualquer método e então usar ALTER ENDPOINT para adicionar métodos a ele.

    Observação importanteImportante

    Quando você usa WEBMETHOD para expor métodos, deve assegurar que não haja nomes duplicados quando mais de um banco de dados SQL Server for atendido pelo mesmo ponto de extremidade HTTP. Para evitar isso, considere adicionar seu URL de nome de domínio registrado como parte do caminho de namespace.

  • NAME ='database.schema.name'
    Especifica o nome de um procedimento armazenado ou de uma função definida pelo usuário que corresponde ao método SOAP especificado em WEBMETHOD. database**.schema.name deve ser um nome de três partes em conformidade com as regras para identificadores. Se database.schema.**name não existir, um aviso será retornado, mas a operação de DDL terá sucesso.

  • [ SCHEMA = { NONE | STANDARD | DEFAULT } ]
    (Essa opção é para a cláusula WEBMETHOD.) Determina se o esquema XSD embutido será retornado para o método Web atual em respostas SOAP.

    • NONE
      Esquema XSD não é retornado para resultados da instrução SELECT enviada pelo SOAP.

    • STANDARD
      O esquema XSD é retornado para resultados da instrução SELECT enviada pelo SOAP.

    • DEFAULT
      Padrões para a configuração da opção SCHEMA do ponto de extremidade.

    Se um esquema não for especificado ou essa opção for definida como DEFAULT, a opção SCHEMA especificada para o ponto de extremidade determinará se o SCHEMA para o resultado do método será retornado.

    Para obter um esquema para o resultado de uma consulta SELECT que usa a opção FOR XML, é necessário especificar a opção XMLSCHEMA na consulta, independentemente da configuração da opção SCHEMA aqui.

  • [ FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE } ]
    Especifica se uma contagem de linha, mensagens de erros e avisos são retornados com o conjunto de resultados. O padrão é ALL_RESULTS.

    • ALL_RESULTS
      Retorna um conjunto de resultados, uma contagem de linha, mensagens de erros e avisos na resposta de SOAP.

    • ROWSETS_ONLY
      Retorna somente os conjuntos de resultados.

      Use essa opção com aplicativos clientes que usam o gerador de classe de proxy do serviço Visual Studio 2005 WEB, para que os resultados sejam retornados como um único conjunto de dados (objeto System.Data.Dataset) e não como uma matriz de objeto.

    • NONE
      Suprime o retorno da marcação específica de SOAP na resposta do servidor.

      Essa opção pode ser usada como um mecanismo para dar suporte a aplicativos que têm um procedimento armazenado no qual a resposta será retornada como é, em modo bruto, pelo servidor. Quando essa opção está em vigor, o aplicativo é responsável por retornar XML bem formado. Esse recurso pode ser usado para controlar a resposta por várias razões; por exemplo, pode ser usado para criar um procedimento armazenado que retorna uma Política WS. A opção FORMAT=NONE tem as condições seguintes para uso:

      • O método deve ser implementado usando um procedimento armazenado sem parâmetros de saída. Não são permitidas funções definidas pelo usuário com esse formato de resposta.

        Ou a consulta deve ser uma instrução única de consulta FOR XML (não são permitidas várias instruções FOR XML com esse formato de resposta.) ou a saída deve consistir em uma única coluna que tem o nome XML_F52E2B61-18A1-11d1-B105-00805F49916B e do tipo nvarchar.

  • BATCHES = { ENABLED | DISABLED }
    Especifica se solicitações SQL ad hoc têm suporte no ponto de extremidade. O padrão é DISABLED.

    ENABLED permite solicitações SOAP para consultas ad hoc que usam o método sqlbatch a ser enviado a esse ponto de extremidade.

    Se lotes forem habilitados, as solicitações SQL ad hoc poderão ser executadas no ponto de extremidade chamando o método sql:sqlbatch. Esse método também expõe funcionalidade de consulta com parâmetros; portanto, ele pode usar uma lista opcional de elementos SqlParameter que descreverá metadados e valores para os parâmetros da consulta especificada.

    Dentro da consulta, os nomes de parâmetro começando com o sinal arroba (@) podem ser embutidos. Nomes de parâmetros correspondentes devem ser fornecidos; caso contrário, um erro será retornado para a solicitação.

  • LOGIN_TYPE = { MIXED | WINDOWS }
    Especifica o modo de Autenticação do SQL Server do ponto de extremidade. Se LOGIN_TYPE não for especificado, o padrão será WINDOWS.

    LOGIN_TYPE só pode ser usado para restringir ainda mais o modo de autenticação de pontos de extremidade baseados no modo de autenticação global do servidor selecionado quando a instância do SQL Server foi instalada.

    • MIXED
      Permite que a Autenticação do SQL Server ou do Windows seja usada para autenticar usuários do ponto de extremidade.

      Se MIXED estiver especificado e o servidor estiver instalado no modo de Autenticação do Windows, um erro será retornado.

      Quando definido como MIXED, a Autenticação do SQL Server tem suporte no ponto de extremidade e o ponto de extremidade deve ser configurado para usar uma porta SSL (Secure Sockets Layer).

    • WINDOWS
      Permite que somente a Autenticação do Windows seja usada para autenticar usuários do ponto de extremidade.

  • WSDL = { NONE | DEFAULT | 'sp_name' }
    Indica se a geração do documento WSDL tem suporte para esse ponto de extremidade. Se NONE, nenhuma resposta WSDL será gerada ou retornada para consultas WSDL enviadas ao ponto de extremidade. Se DEFAULT, uma resposta WSDL padrão será gerada ou retornada para consultas WSDL enviadas ao ponto de extremidade. Em casos excepcionais, quando estiver implementando suporte WSDL personalizado para o ponto de extremidade, você também poderá especificar o procedimento armazenado por nome, que retornará um documento WSDL modificado.

  • [ SESSIONS = { ENABLED | DISABLED } ]
    Especifica se a instância do SQL Server permite suporte a sessões. Se definido como ENABLED, o SQL Server permitirá suporte a sessões, pelo qual vários pares de mensagens de resposta/solicitação SOAP poderão ser identificados como parte de uma única sessão SOAP. O padrão é DISABLED.

  • SESSION_TIMEOUT **=**timeoutInterval
    Especifica o tempo disponível em segundos (como um inteiro) antes de uma sessão SOAP expirar no servidor quando nenhuma solicitação adicional for recebida. O padrão é 60 segundos. Isto substitui o valor do tempo limite especificado no cabeçalho da sessão SOAP.

    O tempo limite que é inicializado quando o servidor termina de enviar uma mensagem de resposta SOAP ao cliente. Se o tempo limite decorrer antes que outra solicitação SOAP com a mesma ID de sessão seja especificada no cabeçalho, a sessão será terminada ao servidor.

  • [ DATABASE = { 'database_name' | DEFAULT } ]
    Especifica o banco de dados no contexto em que a operação solicitada será executada. Se database_name não for especificado ou se DEFAULT for especificado, o banco de dados padrão para o logon será usado.

  • [ NAMESPACE = { 'namespace' | DEFAULT } ]
    Especifica o namespace do ponto de extremidade. Se namespace não for especificado ou se DEFAULT for especificado, o namespace assumido será http://tempuri.org. Você pode sobrescrever o namespace padrão quando especificar um método específico usando WEBMETHOD **'namespace'.**namespace.

  • [ SCHEMA = { NONE | STANDARD } ],
    Especifica se um esquema XSD será retornado pelo ponto de extremidade quando os resultados SOAP forem enviados.

    • NONE
      Omite o esquema embutido de respostas SOAP.

    • STANDARD
      Inclui esquema embutido em respostas de ponto de extremidade.

    ObservaçãoObservação

    Para carregar resultados SOAP em objetos System.Data.DataSet quando você estiver usando Visual Studio 2005, serão necessários esquemas embutidos; portanto, STANDARD deve ser especificado.

  • [CHARACTER_SET = { SQL | XML } ]
    Define o comportamento quando o resultado de uma operação inclui caracteres que não são válidos em XML. O padrão é XML.

    • SQL
      Codifica os caracteres que não são válidos como referências de caractere e então os retorna no resultado. Nesse caso, um analisador XML pode rejeitar o XML retornado como não válido.

    • XML
      Codifica caracteres de acordo com a especificação XML. Qualquer caractere não permitido no conjunto de caracteres XML fará com que o SQL Server retorne um erro de XML inválido ao cliente.

  • HEADER_LIMIT
    Especifica o tamanho máximo, em bytes, da seção de cabeçalho no envelope SOAP. Se os cabeçalhos de SOAP não se ajustarem a esse tamanho, o servidor gerará um erro de análise. Se não especificado, um valor padrão de 8 KB (8192 bytes) será assumido.

Opções SERVICE_BROKER e DATABASE_MIRRORING

Os argumentos AUTHENTICATION e ENCRYPTION a seguir são comuns às opções SERVICE_BROKER e DATABASE_MIRRORING.

ObservaçãoObservação

Para opções específicas do SERVICE_BROKER, consulte "Opções SERVICE_BROKER", posteriormente nesta seção. Para opções específicas de DATABASE_MIRRORING, consulte "Opções DATABASE_MIRRORING", posteriormente nesta seção.

  • AUTHENTICATION = <opções_de_autenticação>
    Especifica os requisitos de autenticação TCP/IP em conexões para esse ponto de extremidade. O padrão é WINDOWS.

    Os métodos de autenticação com suporte incluem NTLM e ou Kerberos ou ambos. Para obter mais informações sobre esses métodos, consulte Tipos de autenticação de ponto de extremidade.

    Observação importanteImportante

    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 para criar um ponto de extremidade de espelhamento de banco de dados adicional falhará.

    <opções_de_autenticação> ::=

    • WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
      Especifica que o ponto de extremidade deve ser conectado usando o protocolo de Autenticação do Windows para autenticar os pontos de extremidade. Esse é o padrão.

      Se você especificar um método de autorização (NTLM ou KERBEROS), esse método sempre será usado como o protocolo de autenticação. O valor padrão, NEGOTIATE, faz o ponto de extremidade usar o protocolo de negociação Windows para escolher NTLM ou Kerberos.

    • CERTIFICATE certificate_name
      Especifica que o ponto de extremidade é para autenticar a conexão usando o certificado especificado por certificate_name para estabelecer identidade para autorização. Os pontos de extremidade distantes devem ter um certificado com a chave pública correspondente à chave privada do certificado especificado.

    • WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
      Especifica que ponto de extremidade deve tentar conexão usando a Autenticação do Windows e, se essa tentativa falhar, tentar o certificado especificado.

    • CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
      Especifica que ponto de extremidade deve tentar conexão usando certificado especificado e, se essa tentativa falhar, tentar a Autenticação do Windows.

  • ENCRYPTION = { DISABLED | SUPPORTED | REQUIRED } [ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ]
    Especifica se a criptografia deve usada no processo. O padrão é REQUIRED.

    • DISABLED
      Especifica que os dados enviados em uma conexão não estão criptografados.

    • SUPPORTED
      Especifica que os dados só serão criptografados se o ponto de extremidade oposto especificar SUPPORTED ou REQUIRED.

    • REQUIRED
      Especifica que conexões para esse ponto de extremidade devem usar criptografia. Portanto, para conexão com esse ponto de extremidade, outros pontos de extremidade deverão 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, como segue:

    • RC4
      Especifica que o ponto de extremidade deve usar o algoritmo RC4. Esse é o padrão.

    • AES
      Especifica que o ponto de extremidade deve usar o algoritmo AES.

    • AES RC4
      Especifica que o dois pontos de extremidade negociarão por um algoritmo de criptografia com esse ponto de extremidade, dando preferência ao algoritmo AES.

    • RC4 AES
      Especifica que o dois pontos de extremidade negociarão por um algoritmo de criptografia com esse ponto de extremidade, dando preferência ao algoritmo RC4.

    ObservaçãoObservação

    O algoritmo RC4 é preterido. Esse recurso será removido em uma versão futura de Microsoft SQL Server. Não utilize esse recurso em desenvolvimentos novos e planeje modificar, assim que possível, os aplicativos que atualmente o utilizam. Recomendamos usar AES.

    Se ambos os ponto de extremidade especificarem ambos os algoritmos, mas em ordens diferentes, vence o ponto de extremidade que aceita a conexão.

Opções SERVICE_BROKER

Os argumentos a seguir são específicos da opção SERVICE_BROKER.

  • MESSAGE_FORWARDING = { ENABLED | DISABLED }
    Determina se mensagens recebidas por esse ponto de extremidade que são para serviços localizados em outro lugar serão enviadas.

    • ENABLED
      Encaminha mensagens se um endereço de encaminhamento estiver disponível.

    • DISABLED
      Descarta mensagens para serviços localizados em outro lugar. Esse é o padrão.

  • MESSAGE_FORWARD_SIZE **=**forward_size
    Especifica a quantidade máxima de armazenamento em megabytes a ser alocada para ser usada no ponto de extremidade ao armazenar mensagens a serem encaminhadas..

Opções DATABASE_MIRRORING

O argumento seguinte é específico da opção DATABASE_MIRRORING.

  • ROLE = { WITNESS | PARTNER | ALL }
    Especifica a função ou funções de espelhamento de banco de dados com suporte no ponto de extremidade.

    • WITNESS
      Permite que o ponto de extremidade execute a função de testemunha no processo de espelhamento.

      ObservaçãoObservação

      Para SQL Server 2005 Express Edition, WITNESS é a única opção disponível.

    • PARTNER
      Permite que o ponto de extremidade execute a função de parceiro no processo de espelhamento.

    • ALL
      Permite que o ponto de extremidade execute a função de testemunha e parceiro no processo de espelhamento.

    Para obter mais informações sobre essas funções, consulte Visão geral do espelhamento de banco de dados.

ObservaçãoObservação

Para DATABASE_MIRRORING, somente o TCP pode ser usado como o protocolo de transporte, não o HTTP. Não há nenhuma porta padrão para DATABASE_MIRRORING.

Comentários

Não podem ser executadas instruções ENDPOINT DDL em uma transação de usuário. Instruções ENDPOINT DDL não falham, mesmo que uma transação ativa de nível de isolamento de instantâneo esteja usando o ponto de extremidade que está sendo alterado.

Podem ser executadas solicitações em um ENDPOINT pelo seguinte:

  • Membros da função de servidor fixa sysadmin

  • O proprietário do ponto de extremidade

  • Usuários ou grupos com permissão CONNECT no ponto de extremidade

Permissões

Requer permissão CREATE ENDPOINT ou associação na função de servidor fixa sysadmin. Para obter mais informações, consulte Permissões de ponto de extremidade GRANT (Transact-SQL).

Exemplos

A. Criando um ponto de extremidade para solicitações SOAP

O exemplo a seguir cria um ponto de extremidade denominado sql_endpoint, com dois métodos: GetSqlInfo e DayAsNumber. Esses são os métodos para os quais um cliente pode enviar solicitações SOAP ao ponto de extremidade.

Para cada método, o padrão para a opção FORMAT é ALL_RESULTS. Portanto, a resposta SOAP para solicitação de método incluirá mensagens de erro, avisos e informações de contagem de linha.

Observe as configurações seguintes específicas de SOAP:

  • A opção SCHEMA é definida como STANDARD para o ponto de extremidade. Portanto, por padrão, são retornados esquemas embutidos em respostas SOAP.

  • A opção WSDL é definida como DEFAULT. Então, se um cliente pedir uma resposta WSDL desse ponto de extremidade (https://Server/sql?wsdl), o servidor irá gerar e devolver uma resposta WSDL ao cliente.

DROP ENDPOINT sql_endpoint;
GO

CREATE ENDPOINT sql_endpoint 
STATE = STARTED
AS HTTP(
   PATH = '/sql', 
   AUTHENTICATION = (INTEGRATED ), 
   PORTS = ( CLEAR ), 
   SITE = 'SERVER'
   )
FOR SOAP (
   WEBMETHOD 'GetSqlInfo' 
            (name='master.dbo.xp_msver', 
             SCHEMA=STANDARD ),
   WEBMETHOD 'DayAsNumber' 
            (name='master.sys.fn_MSdayasnumber'),
   WSDL = DEFAULT,
   SCHEMA = STANDARD,
   DATABASE = 'master',
   NAMESPACE = 'http://tempUri.org/'
   ); 
GO

Você pode examinar a exibição de catálogo para localizar as informações sobre o ponto de extremidade criado, como mostrado nos exemplos a seguir. Você também pode fazer uma junção dessas exibições de catálogo para obter os dados que deseja.

Consulte sys.endpoints para recuperar todas as informações de ponto de extremidade no sistema. Isso inclui nome, ID do ponto de extremidade, ID do servidor principal que possui o ponto de extremidade e outras propriedades do ponto de extremidade.

SELECT *
FROM sys.endpoints;

Você pode consultar sys.http_endpoints para recuperar informações de ponto de extremidade detalhadas relacionada a HTTP, como SITE, URL, mecanismo de AUTHENTICATION e outras informações específicas de HTTP.

SELECT *
FROM sys.http_endpoints;

Para recuperar informações específicas de SOAP sobre o ponto de extremidade, consulte sys.soap_endpoints.

SELECT * 
FROM sys.soap_endpoints;

Para recuperar métodos SOAP que são definidos no ponto de extremidade, consulte sys.endpoint_webmethods.

SELECT *
FROM sys.endpoint_webmethods;

B. Criando 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 número de porta 7022, embora nenhum número da porta disponível funcione. O ponto de extremidade é configurado para usar Autenticação do Windows que só usa Kerberos. A opção ENCRYPTION é configurada ao valor não padrão de SUPPORTED para oferecer suporte a dados criptografados ou não criptografados. O ponto de extremidade está sendo configurado para oferecer suporte às 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

C. Especificando uma porta

Ao criar um ponto de extremidade SOAP em um Windows Server a partir do Windows Server 2003, se a combinação de caminho (URL) e porta estiver em uso pelo IIS, CREATE ENDPOINT falhará.

No Windows XP, pode ser necessário parar o IIS para que os pontos de extremidade SOAP funcionem.

CREATE ENDPOINT sql_endpoint
 STATE = STARTED 
AS HTTP
( PATH = '/sql',
 AUTHENTICATION = (INTEGRATED ),
 PORTS = ( CLEAR ),
 SITE = 'SERVER',
 CLEAR_PORT = 2000 )
FOR SOAP 
( WEBMETHOD 'GetSqlInfo' (name='master.dbo.xp_msver', SCHEMA=STANDARD ),
 WEBMETHOD 'DayAsNumber' (name='master.sys.fn_MSdayasnumber'),
 WSDL = DEFAULT,
 SCHEMA = STANDARD,
 DATABASE = 'master',
 NAMESPACE = 'http://tempUri.org/' );