ALTER ENDPOINT (Transact-SQL)

Permite modificar un extremo existente de las siguientes formas:

  • Agregando un método nuevo a un extremo existente.

  • Modificando o quitando un método existente del extremo.

  • Cambiando las propiedades de un extremo.

Nota

En este tema se describen la sintaxis y los argumentos son específicos de ALTER ENDPOINT. Para obtener descripciones de los argumentos comunes a CREATE ENDPOINT y ALTER ENDPOINT, vea CREATE ENDPOINT (Transact-SQL).

Los servicios web XML nativos (extremos SOAP/HTTP) han quedado desusados. Para obtener más información, vea Servicios web XML nativos: obsoletos en SQL Server 2008.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Nota

Los siguientes argumentos son específicos de ALTER ENDPOINT. Para obtener la descripción de los argumentos restantes, vea CREATE ENDPOINT (Transact-SQL).

  • ADD WEBMETHOD
    Agrega un nuevo extremo de método.

    Nota importanteImportante

    Cuando use ADD WEBMETHOD para publicar métodos, debe asegurarse de que, si el mismo extremo HTTP proporciona servicio a más de una base de datos de SQL Server, no se producen superposiciones de nombres. Para evitarlo, piense en agregar su URL de nombre de dominio registrado como parte de la ruta del espacio de nombres.

  • ALTER WEBMETHOD
    Modifica la definición de un extremo de método existente.

  • AS { TCP | HTTP }
    No puede cambiar el protocolo de transporte con ALTER ENDPOINT.

  • AUTHORIZATIONlogin
    La opción AUTHORIZATION no está disponible en ALTER ENDPOINT. La propiedad solo puede asignarse cuando se crea el extremo.

  • DROP WEBMETHOD
    Quita un extremo de método existente.

  • FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
    No puede cambiar el tipo de carga útil con ALTER ENDPOINT.

Comentarios

Cuando use ALTER ENDPOINT, especifique solo los parámetros que desee actualizar. Todas las propiedades de un extremo se conservan a menos que las cambie explícitamente.

Las instrucciones ENDPOINT DDL no se pueden ejecutar dentro de una transacción de usuario.

Para obtener información sobre la elección de un algoritmo de cifrado para su uso con un extremo, vea Elegir un algoritmo de cifrado.

Nota

RC4 es un algoritmo relativamente poco seguro y AES un algoritmo relativamente seguro. Sin embargo, AES resulta considerablemente más lento que RC4. Si la seguridad es una prioridad más importante que la velocidad, se recomienda utilizar AES.

Permisos

El usuario debe ser un miembro del rol fijo de servidor sysadmin, el propietario del extremo o tener concedido permiso ALTER ANY ENDPOINT.

Para cambiar la propiedad de un extremo existente, debe usar la instrucción ALTER AUTHORIZATION. Para obtener más información, vea ALTER AUTHORIZATION (Transact-SQL).

Para obtener más información, vea GRANT (permisos de extremo de Transact-SQL).

Ejemplos

A. Agregar un método nuevo a un extremo existente

En el siguiente ejemplo se agrega un nuevo método al extremo sql_endpoint creado anteriormente.

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

B. Agregar un nuevo método que funciona en modo RAW SOAP

En el siguiente ejemplo se agrega un nuevo método web ReportUsageStats que funciona en modo RAW, especificado mediante FORMAT=NONE, para entregar resultados de un procedimiento almacenado as is a clientes SOAP. Para obtener más información, vea la descripción de la opción FORMAT en CREATE ENDPOINT (Transact-SQL).

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