ALTER ENDPOINT (Transact-SQL)

Habilita a modificação de um ponto de extremidade existente das seguintes formas:

  • Adicionando um novo método a um ponto de extremidade existente.

  • Modificando ou descartando um método existente do ponto de extremidade.

  • Alterando as propriedades de um ponto de extremidade.

ObservaçãoObservação

Este tópico descreve a sintaxe e os argumentos que são específicos para ALTER ENDPOINT. Para obter descrições dos argumentos que são comuns a CREATE ENDPOINT e a ALTER ENDPOINT, consulte CREATE ENDPOINT (Transact-SQL).

XML Web Services Nativos: (pontos de extremidade SOAP/HTTP) estão preteridos. 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

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

<AS HTTP_protocol_specific_arguments> ::=
AS HTTP (
  [ [ , ] PATH = 'url' ]
  [ [ , ] PORTS = ( { CLEAR | SSL } [ ,...n ] ) ]
  [ [ , ] SITE = { '*' | '+' | 'webSite' } , ]
  [ [ , ] CLEAR_PORT = clearPort ]
  [ [ , ] SSL_PORT = SSLPort ]
  [ [,] AUTHENTICATION = ( { BASIC | DIGEST | NTLM | KERBEROS | INTEGRATED } [ ,...n ] ) ]
  [ [ , ] 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 (
  [ { ADD WEBMETHOD [ 'namespace' .] 'method_alias' 
    (   NAME = 'database.owner.name'
      [ , SCHEMA = {NONE | STANDARD | DEFAULT } ]
      [ , FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE} ]
    )  
  } [ ,...n ] 
  ]

  [ { ALTER WEBMETHOD [ 'namespace' .] 'method_alias' 
    (   NAME = 'database.owner.name'
      [ , SCHEMA = {NONE | STANDARD | DEFAULT} ]
      [ , FORMAT = { ALL_RESULTS | ROWSETS_ONLY } ]
    )  
  } [ ,...n] 
]
  [ [ , ] { DROP WEBMETHOD [ 'namespace' .] 'method_alias' } [ ,...n ] ]
  [ [ , ] BATCHES = { ENABLED | DISABLED } ]
  [ [ , ] WSDL = { NONE | DEFAULT | 'sp_name' } ]
  [ [ , ] SESSIONS = { ENABLED | DISABLED } ]
  [ [ , ] LOGIN_TYPE = { MIXED | WINDOWS } ]
  [ [ , ] SESSION_TIMEOUT = timeoutInterval ]
  [ [ , ] 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 = forwardSize
)

<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

ObservaçãoObservação

Os argumentos a seguir são específicos para ALTER ENDPOINT. Para obter descrições dos argumentos restantes, consulte CREATE ENDPOINT (Transact-SQL).

  • ADD WEBMETHOD
    Adiciona um novo ponto de extremidade do método.

    Observação importanteImportante

    Quando você usa ADD WEBMETHOD para expor métodos, deve assegurar que, se houver mais de um banco de dados do SQL Server servido pelo mesmo ponto de extremidade HTTP, não haja sobreposições de nome. Para evitar isso, considere adicionar seu URL de nome de domínio registrado como parte do caminho de namespace.

  • ALTER WEBMETHOD
    Altera a definição de um ponto de extremidade de método existente.

  • AS { TCP | HTTP }
    Não é possível alterar o protocolo de transporte com ALTER ENDPOINT.

  • AUTHORIZATIONlogin
    A opção AUTHORIZATION não está disponível em ALTER ENDPOINT. A propriedade só pode ser atribuída quando o ponto de extremidade é criado.

  • DROP WEBMETHOD
    Descarta um ponto de extremidade de método existente.

  • FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
    Não é possível alterar o tipo de carga com ALTER ENDPOINT.

Comentários

Quando você usar ALTER ENDPOINT, especifique somente os parâmetros que deseja atualizar. Todas as propriedades de um ponto de extremidade existente permanecem as mesmas, a não ser que você as altere explicitamente.

Não podem ser executadas instruções ENDPOINT DDL em uma transação de usuário.

Para obter informações sobre como escolher um algoritmo de criptografia para uso com um ponto de extremidade, consulte Escolhendo um algoritmo de criptografia.

ObservaçãoObservação

RC4 é um algoritmo relativamente fraco e AES é um algoritmo relativamente forte. Mas AES é consideravelmente mais lento do que RC4. Se segurança for uma prioridade mais alta para você do que a velocidade, recomendamos que use AES.

Permissões

O usuário deve ser um membro da função de servidor fixa sysadmin, o proprietário do ponto de extremidade ou ter recebido a permissão ALTER ANY ENDPOINT.

Para alterar a propriedade de um ponto de extremidade existente, você deve usar a instrução ALTER AUTHORIZATION. Para obter mais informações, consulte ALTER AUTHORIZATION (Transact-SQL).

Para obter mais informações, consulte Permissões de ponto de extremidade GRANT (Transact-SQL).

Exemplos

A. Adicionando um novo método a um ponto de extremidade existente

O exemplo a seguir adiciona um novo método ao ponto de extremidade sql_endpoint criado anteriormente.

ALTER ENDPOINT sql_endpoint
FOR SOAP
(
  ADD WEBMETHOD 'SayHello' (name='AdventureWorks2008R2.dbo.SayHello')
);

B. Adicionando um novo método que opere no modo RAW SOAP

O exemplo a seguir adiciona um novo método Web ReportUsageStats que opera em modo RAW, especificado por FORMAT=NONE, para fornecer resultados de um procedimento armazenado como está a clientes SOAP. Para obter mais informações, consulte a descrição da opção FORMAT em CREATE ENDPOINT (Transact-SQL).

ALTER ENDPOINT sql_endpoint
FOR SOAP
(
  ADD WEBMETHOD 'ReportUsageStats' (name='myDatabase.dbo.sp_reportserverstats', FORMAT=NONE)
);