CREATE ENDPOINT (Transact-SQL)

Crea extremos y define sus propiedades, incluidos los métodos disponibles para las aplicaciones cliente. Para obtener información sobre permisos relacionados, consulte GRANT (permisos de extremo de Transact-SQL).

La sintaxis de CREATE ENDPOINT puede dividirse lógicamente en dos partes:

  • La primera parte comienza con AS y termina antes de la cláusula FOR.

    En esta parte, proporcione la información específica para el protocolo de transporte como TCP o HTTP y establezca un número de puerto de escucha para el extremo, así como el método de autenticación de extremo y/o una lista de direcciones IP (si hay alguna) a las que desee limitar el acceso al extremo.

  • La segunda parte comienza con la cláusula FOR.

    En esta parte, defina la carga que admite el extremo. La carga puede ser uno de los tipos admitidos: SOAP, Transact-SQL, Service Broker y creación de reflejo de la base de datos. En esta parte, también puede incluir información específica del lenguaje. Por ejemplo, al utilizar HTTP SOAP, identifique los procedimientos que desea exponer en el extremo como métodos web. Para cada uno de los métodos web, identifique un procedimiento almacenado de SQL Server correspondiente o una función definida por el usuario al que se asigna. A continuación, una aplicación cliente puede enviar solicitudes HTTP SOAP que llaman a estos métodos del extremo. También puede proporcionar información de configuración de SOAP adicional como la siguiente:

    • Si se permiten solicitudes de consultas ad hoc

    • Si se devuelve el esquema XSD para el conjunto de resultados

    • El contexto de la base de datos en el que se ejecutan los métodos solicitados

    • El espacio de nombres para el extremo

    • Cómo se controlan los caracteres del resultado que no son válidos en XML

Nota

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

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
    Es el nombre asignado para el extremo que está creando. Se utiliza al actualizar o eliminar el extremo.

  • AUTHORIZATION login
    Especifica un inicio de sesión de SQL Server o Windows válido al que se le asigna la propiedad del objeto de extremo de nueva creación. Si no se especifica AUTHORIZATION, el autor de la llamada se convierte en el propietario del objeto de nueva creación de forma predeterminada.

    Para asignar la propiedad al especificar AUTHORIZATION, el autor de la llamada debe tener el permiso IMPERSONATE en el parámetro login especificado.

    Para volver a asignar la propiedad, vea ALTER ENDPOINT (Transact-SQL).

  • STATE = { STARTED | STOPPED | DISABLED }
    Es el estado del extremo cuando se crea. Si el estado no se especifica cuando se crea el extremo, el valor predeterminado es STOPPED.

    • STARTED
      El extremo se inicia y está activo a la escucha de conexiones.

    • DISABLED
      El extremo está deshabilitado. En este estado, el servidor escucha las solicitudes del puerto pero devuelve errores a los clientes.

    • STOPPED
      El extremo está detenido. En este estado, el servidor no escucha el puerto del extremo ni responde a ninguna solicitud que se haya intentado para utilizar el extremo.

    Para cambiar el estado, use ALTER ENDPOINT (Transact-SQL).

  • AS { HTTP | TCP }
    Especifica el protocolo de transporte que se utiliza.

  • FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
    Especifica el tipo de carga.

    Actualmente no hay argumentos específicos del lenguaje Transact-SQL que se puedan pasar en el parámetro <language_specific_arguments>.

    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.

Opción de protocolo HTTP

La información que aparece a continuación solo se aplica a la opción de protocolo HTTP.

  • PATH = 'url'
    Especifica la ruta de acceso de la dirección URL que identifica la ubicación del extremo en el equipo host especificado en el argumento SITE. PATH es una partición lógica del espacio de nombres de la dirección URL que la escucha utiliza para enrutar las solicitudes correctamente. PATH debe formar parte de la dirección URL que utiliza el cliente para enviar solicitudes HTTP SOAP a una instancia de SQL Server. Por ejemplo, en la dirección URL http://nombreDeServidor/Sql, nombreDeServidor es el equipo host especificado por SITE y /Sql es la dirección URL especificada por PATH.

  • AUTHENTICATION = ( { BASIC | DIGEST | NTLM | KERBEROS | INTEGRATED } [ ,...n ] )
    Especifica el tipo de autenticación que utilizó para autenticar a los usuarios que inician sesión en una instancia de SQL Server. Puede especificar BASIC, DIGEST, NTLM, KERBEROS o INTEGRATED o una combinación de estos valores separados por comas (,). Para obtener más información, vea Tipos de autenticación de extremos.

  • PORTS**=(** { CLEAR | SSL} [ ,... n ] )
    Especifica uno o más tipos de puerto de escucha que se asocia con el extremo. Se pueden especificar CLEAR y SSL al mismo tiempo. Si solo se especifica CLEAR, las solicitudes entrantes deben utilizar HTTP. Si se especifica SSL, las solicitudes entrantes deben ser solicitudes HTTP seguras (https://).

  • [ SITE = { ' * ' | ' + ' | 'webSite' } ]
    Especifica el nombre del equipo host. Si se omite SITE, el asterisco es el valor predeterminado. Si se ejecutó sp_reserve_http_namespace, se debe pasar <hostpart> a la palabra clave SITE. Por ejemplo, si se ejecutó sp_reserve_http_namespace N'http://MiServidor:80/sql', especifique SITE='MiServidor' en la instrucción CREATE ENDPOINT.

    • * (asterisco)
      Implica que se aplica una operación de escucha a todos los nombres del host posibles para el equipo que no está reservado explícitamente.

    • + (signo más)
      Implica que se aplica una operación de escucha a todos los nombres del host posibles para el equipo.

    • webSite
      Es el nombre específico del host para el equipo.

  • [ CLEAR_PORT **=**clearPort ]
    Especifica el número de puerto clear. Si PORTS = (CLEAR), clearPort especifica el número de puerto clear. El número de puerto predeterminado es 80.

  • [ SSL_PORT**=**SSLPort ]
    Especifica el número de puerto SSL. Si PORTS = (SSL), SSLPort especifica el número de puerto SSL. El número de puerto SSL predeterminado es 443.

  • [ AUTH_REALM = { 'realm' | NONE } ]
    Si AUTHENTICATION = DIGEST, especifica la sugerencia que se devuelve al cliente, que envió la solicitud SOAP al extremo, como parte de un desafío de autenticación HTTP. El valor predeterminado es NONE.

  • [ DEFAULT_LOGON_DOMAIN = { 'domain' | NONE } ]
    Si AUTHENTICATION = BASIC, especifica el dominio de inicio de sesión predeterminado. El valor predeterminado es NONE.

  • [ COMPRESSION = { ENABLED | DISABLED } ]
    Si está establecido en ENABLED, SQL Server respetará las solicitudes donde se acepta la codificación gzip y devolverá las respuestas comprimidas. Es decir, si una solicitud viene acompañada de un encabezado HTTP que especifica GZIP como una "codificación aceptada" válida, el servidor devuelve la respuesta codificada en gzip. El valor predeterminado es DISABLED.

Opción de protocolo TCP

Los argumentos que aparecen a continuación solo se aplican a la opción de protocolo TCP.

  • LISTENER_PORT **=**listenerPort
    Especifica el número de puerto que escucha el protocolo TCP/IP de Service Broker para las conexiones. Se usa 4022 por convención, pero cualquier número entre 1024 y 32767 es válido.

  • LISTENER_IP = ALL | **(**4-part-ip ) | ( "ip_address_v6" )
    Especifica la dirección IP en la que escuchará el extremo. El valor predeterminado es ALL. Esto significa que la escucha aceptará una conexión en cualquier dirección IP válida.

    Si configura la creación de reflejo de la base de datos con una dirección IP en lugar de con un nombre de dominio completo (ALTER DATABASE SET PARTNER = partner_IP_address o ALTER DATABASE SET WITNESS = witness_IP_address), tiene que especificar LISTENER_IP =IP_address en lugar de LISTENER_IP=ALL al crear los extremos de los reflejos.

Argumentos SOAP

Los argumentos que aparecen a continuación son específicos de la opción SOAP.

Nota

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.

  • [ WEBMETHOD [ 'namespace' .] 'method_alias' ]
    Especifica un método para el que pueden enviar solicitudes HTTP SOAP a un extremo. Cada cláusula WEBMETHOD describe un método; sin embargo, se pueden exponer varios métodos para el extremo. Si no se especifica namespace, se da por supuesto el espacio de nombres del extremo.

    Puede crear un extremo sin ningún método y, a continuación, usar ALTER ENDPOINT para agregarle métodos.

    Nota importanteImportante

    Cuando utiliza WEBMETHOD para exponer métodos, debe asegurarse de que no hay nombres duplicados cuando el mismo extremo HTTP da servicio a más de una base de datos de SQL Server. Para evitarlo, puede agregar la dirección URL del nombre de dominio registrado como parte de la ruta de acceso del espacio de nombres.

  • NAME ='database.schema.name'
    Especifica el nombre de un procedimiento almacenado o una función definida por el usuario que corresponde al método SOAP especificado en WEBMETHOD. database**.schema.name debe ser un nombre de tres partes que cumpla las reglas de los identificadores. Si database.schema.**name no existe, se devuelve una advertencia, pero la operación DDL se lleva a cabo.

  • [ SCHEMA = { NONE | STANDARD | DEFAULT } ]
    (Esta opción es para la cláusula WEBMETHOD.) Determina si el esquema XSD alineado se devolverá para el método web actual en las respuestas SOAP.

    • NONE
      No se devuelve el esquema XSD para los resultados de la instrucción SELECT enviados mediante SOAP.

    • STANDARD
      Se devuelve el esquema XSD para los resultados de la instrucción SELECT enviados mediante SOAP.

    • DEFAULT
      El valor predeterminado es la configuración de la opción SCHEMA del extremo.

    Si no se especifica ningún esquema o esta opción está establecida en DEFAULT, la opción SCHEMA especificada para el extremo determina si se devuelve el SCHEMA para el resultado del método.

    Para obtener un esquema para el resultado de una consulta SELECT que utiliza la opción FOR XML, debe especificar la opción XMLSCHEMA en la consulta, independientemente de la configuración de la opción SCHEMA.

  • [ FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE } ]
    Especifica si se devuelve un recuento de filas, los mensajes de error y las advertencias con el conjunto de resultados. El valor predeterminado es ALL_RESULTS.

    • ALL_RESULTS
      Devuelve un conjunto de resultados, un recuento de filas y mensajes de error y advertencias en la respuesta SOAP.

    • ROWSETS_ONLY
      Devuelve solo los conjuntos de resultados.

      Utilice esta opción con aplicaciones cliente que utilicen el generador de clases proxy del servicio web de Visual Studio 2005, si desea que los resultados se devuelvan como un solo conjunto de datos (objeto System.Data.Dataset) y no como una matriz de objetos.

    • NONE
      Suprime la devolución del marcado específico de SOAP en la respuesta del servidor.

      Esta opción se puede utilizar como mecanismo para admitir aplicaciones que tienen un procedimiento almacenado en el que el servidor devolverá la respuesta tal cual, en modo RAW. Cuando esta opción está activa, la aplicación es la responsable de devolver XML correcto. Esta característica se puede utilizar para controlar la respuesta por distintos motivos. Por ejemplo, se puede utilizar para crear un procedimiento almacenado que devolverá una directiva WS. La opción FORMAT=NONE tiene las siguientes condiciones de uso:

      • El método debe implementarse mediante un procedimiento almacenado sin parámetros de salida. Las funciones definidas por el usuario no están permitidas con este formato de respuesta.

        La consulta debe ser FOR XML de una única instrucción (no se permiten múltiples instrucciones FOR XML con este formato de respuesta) o el resultado debe constar de una sola columna denominada XML_F52E2B61-18A1-11d1-B105-00805F49916B y de tipo nvarchar.

  • BATCHES = { ENABLED | DISABLED }
    Especifica si se admiten solicitudes SQL ad hoc en el extremo. El valor predeterminado es DISABLED.

    ENABLED permite que las solicitudes SOAP para las consultas ad hoc que utilizan el método sqlbatch se envíen a este extremo.

    Si los lotes están habilitados, las solicitudes SQL ad hoc se pueden ejecutar en el extremo llamando al método sql:sqlbatch. Este método también expone la funcionalidad de consulta con parámetros; por lo tanto, puede tomar una lista opcional de elementos SqlParameter que describirá los metadatos y valores para los parámetros de la consulta especificada.

    En la consulta, se pueden incrustar los nombres de los parámetros que comienzan con el signo (@). Se deben proporcionar nombres de parámetros coincidentes; de lo contrario, se devolverá un error para la solicitud.

  • LOGIN_TYPE = { MIXED | WINDOWS }
    Especifica el modo de autenticación de SQL Server para el extremo. Si no se especifica LOGIN_TYPE, el valor predeterminado es WINDOWS.

    LOGIN_TYPE solo se puede usar para restringir aún más el modo de autenticación para los extremos basados en el modo de autenticación global del servidor seleccionado al instalar la instancia de SQL Server.

    • MIXED
      Permite utilizar la autenticación de SQL Server o la autenticación de Windows para autenticar a los usuarios del extremo.

      Si se especifica MIXED y el servidor está instalado en el modo de autenticación de Windows, se devuelve un error.

      Cuando se establece en MIXED, la autenticación de SQL Server se admite en el extremo, y el extremo debe configurarse para utilizar un puerto SSL (Capa de sockets seguros).

    • WINDOWS
      Permite utilizar solo la autenticación de Windows para autenticar a los usuarios del extremo.

  • WSDL = { NONE | DEFAULT | 'sp_name' }
    Indica si la generación del documento WSDL está admitida para este extremo. Si es NONE, no se genera ni se devuelve ninguna respuesta WSDL para las consultas WSDL enviadas al extremo. Si es DEFAULT, se genera y se devuelve una respuesta WSDL predeterminada para las consultas WSDL enviadas al extremo. En casos excepcionales, donde se implementa la compatibilidad de WSDL personalizada para el extremo, también puede especificar el procedimiento almacenado por nombre que devolverá un documento WSDL modificado.

  • [ SESSIONS = { ENABLED | DISABLED } ]
    Especifica si la instancia de SQL Server permite compatibilidad con las sesiones. Si se establece en ENABLED, SQL Server permite la compatibilidad con las sesiones, en la que se pueden identificar múltiples pares de mensajes de solicitud/respuesta SOAP como parte de una única sesión SOAP. El valor predeterminado es DISABLED.

  • SESSION_TIMEOUT **=**timeoutInterval
    Especifica el tiempo en segundos (como un número entero) que está disponible antes de que la sesión SOAP expire en el servidor cuando no se recibe ninguna solicitud más. El valor predeterminado es 60 segundos. Este valor invalida el valor de tiempo de espera especificado en el encabezado de sesión SOAP.

    Es el tiempo de espera que se inicializa cuando el servidor termina de enviar un mensaje de respuesta SOAP al cliente. Si el tiempo de espera caduca antes de que se especifique otra solicitud SOAP con el mismo identificador de sesión en su encabezado, la sesión finalizará en el servidor.

  • [ DATABASE = { 'database_name' | DEFAULT } ]
    Especifica la base de datos en el contexto donde se va a ejecutar la operación solicitada. Si no se especifica database_name o si se especifica DEFAULT, se usará la base de datos predeterminada para el inicio de sesión.

  • [ NAMESPACE = { 'namespace' | DEFAULT } ]
    Especifica el espacio de nombres para el extremo. Si no se especifica namespace o si se especifica DEFAULT, el espacio de nombres asumido es http://tempuri.org. Puede sobrescribir el espacio de nombres predeterminado cuando especifica un método específico utilizando WEBMETHOD **'namespace'**namespace.

  • [ SCHEMA = { NONE | STANDARD } ]
    Especifica si el extremo devuelve un esquema XSD cuando se envían los resultados SOAP.

    • NONE
      Omite el esquema alineado de las respuestas SOAP.

    • STANDARD
      Incluye el esquema alineado en las respuestas del extremo.

    Nota

    Para cargar resultados SOAP en objetos System.Data.DataSet cuando utiliza Visual Studio 2005, se requieren esquemas alineados; por lo tanto, se debe especificar STANDARD.

  • [CHARACTER_SET = { SQL | XML } ]
    Define el comportamiento cuando el resultado de una operación incluye caracteres que no son válidos en XML. El valor predeterminado es XML.

    • SQL
      Codifica los caracteres que no son válidos como referencias de caracteres y, a continuación, los devuelve en el resultado. En este caso, un analizador XML puede rechazar el XML devuelto como no válido.

    • XML
      Codifica los caracteres en conformidad con la especificación XML. Los caracteres no permitidos en el juego de caracteres XML harán que SQL Server devuelva al cliente un error de datos XML no válidos.

  • HEADER_LIMIT
    Especifica el tamaño máximo, en bytes, de la sección del encabezado de SOAP ENVELOPE. Si los caracteres SOAP no se ajustan a este tamaño, el servidor genera un error de análisis. Si no se especifica ninguno, se asumirá un valor predeterminado de 8 KB (8.192 bytes).

Opciones de SERVICE_BROKER y DATABASE_MIRRORING

Los argumentos AUTHENTICATION y ENCRYPTION siguientes son comunes a las opciones SERVICE_BROKER y DATABASE_MIRRORING.

Nota

Para obtener información sobre las opciones específicas de SERVICE_BROKER, vea "Opciones de SERVICE_BROKER", más adelante en esta sección. Para obtener información sobre las opciones específicas de DATABASE_MIRRORING, vea "Opciones de DATABASE_MIRRORING", más adelante en esta sección.

  • AUTHENTICATION = <authentication_options>
    Especifica los requisitos de autenticación de TCP/IP para las conexiones de este extremo. El valor predeterminado es WINDOWS.

    Entre los métodos de autenticación admitidos se incluyen NTLM, Kerberos o ambos. Para obtener más información acerca de estos métodos, vea Tipos de autenticación de extremos.

    Nota importanteImportante

    Todas las conexiones de creación de reflejos de una instancia de servidor utilizan un único extremo de creación de reflejos de base de datos. Los intentos de crear un extremo de creación de reflejos de base de datos adicional generarán un error.

    <authentication_options> ::=

    • WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
      Especifica que el extremo se conecta mediante el protocolo de autenticación de Windows para autenticar los extremos. Se trata del valor predeterminado.

      Si especifica un método de autenticación (NTLM o KERBEROS), dicho método se utilizará siempre como el protocolo de autenticación. El valor predeterminado, NEGOTIATE, hace que el extremo utilice el protocolo de negociación de Windows para elegir NTLM o Kerberos.

    • CERTIFICATE certificate_name
      Especifica que el extremo debe autenticar la conexión mediante el certificado especificado por certificate_name para establecer la identidad para la autorización. El extremo alejado debe tener un certificado con la clave pública que coincida con la clave privada del certificado especificado.

    • WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
      Especifica que el extremo va a intentar conectarse mediante la autenticación de Windows y, si el intento da error, intentará utilizar el certificado especificado.

    • CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
      Especifica que el extremo va a intentar conectarse mediante el certificado especificado y, si el intento da error, intentará utilizar la autenticación de Windows.

  • ENCRYPTION = { DISABLED | SUPPORTED | REQUIRED } [ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ]
    Especifica si el proceso utiliza cifrado. El valor predeterminado es REQUIRED.

    • DISABLED
      Especifica que los datos enviados a través de una conexión no están cifrados.

    • SUPPORTED
      Especifica que los datos están cifrados solo si el extremo opuesto especifica SUPPORTED o REQUIRED.

    • REQUIRED
      Especifica que las conexiones con este extremo deben utilizar el cifrado. Así, para conectarse a este extremo, otro extremo debe haber establecido ENCRYPTION en SUPPORTED o REQUIRED.

    Si lo desea, puede utilizar el argumento ALGORITHM para especificar la forma de cifrado que utiliza el extremo, de la manera siguiente:

    • RC4
      Especifica que el extremo debe utilizar el algoritmo RC4. Se trata del valor predeterminado.

    • AES
      Especifica que el extremo debe utilizar el algoritmo AES.

    • AES RC4
      Especifica que los dos extremos negociarán un algoritmo de cifrado con este extremo, dando preferencia al algoritmo AES.

    • RC4 AES
      Especifica que los dos extremos negociarán un algoritmo de cifrado con este extremo, dando preferencia al algoritmo RC4.

    Nota

    El algoritmo RC4 está obsoleto. Esta característica se quitará en una versión futura de Microsoft SQL Server. No utilice esta característica en nuevos trabajos de desarrollo y modifique lo antes posible las aplicaciones que actualmente la utilizan. Se recomienda utilizar AES.

    Si ambos extremos especifican estos dos algoritmos en distintas órdenes, el extremo que acepte la conexión gana.

Opciones de SERVICE_BROKER

Los argumentos que aparecen a continuación son específicos de la opción SERVICE_BROKER.

  • MESSAGE_FORWARDING = { ENABLED | DISABLED }
    Determina si se reenviarán los mensajes recibidos por este extremo que sean para los servicios que se encuentran en otro lugar.

    • ENABLED
      Reenvía mensajes si dispone de una dirección de reenvío.

    • DISABLED
      Descarta los mensajes para los servicios que están ubicados en otro lugar. Se trata del valor predeterminado.

  • MESSAGE_FORWARD_SIZE **=**forward_size
    Especifica la cantidad máxima de almacenamiento en megabytes que se va a asignar para que el extremo la utilice cuando almacene mensajes que se van a reenviar.

Opciones de DATABASE_MIRRORING

Los argumentos que aparecen a continuación son específicos de la opción DATABASE_MIRRORING.

  • ROLE = { WITNESS | PARTNER | ALL }
    Especifica el rol o los roles de creación de reflejo de la base de datos que admite el extremo.

    • WITNESS
      Permite al extremo realizar el rol de un testigo en el proceso de creación del reflejo.

      Nota

      Para SQL Server 2005 Express Edition, WITNESS es la única opción disponible.

    • PARTNER
      Permite al extremo realizar el rol de un asociado en el proceso de creación del reflejo.

    • ALL
      Permite al extremo realizar el rol de un testigo y un asociado en el proceso de creación del reflejo.

    Para obtener más información acerca de estos roles, vea Información general sobre la creación de reflejos de la base de datos.

Nota

Para DATABASE_MIRRORING, solo se puede utilizar TCP como protocolo de transporte, no HTTP. No existe ningún puerto predeterminado para DATABASE_MIRRORING.

Comentarios

Las instrucciones ENDPOINT DDL no pueden ejecutarse en una transacción definida por el usuario. Las instrucciones ENDPOINT DDL no generan errores aunque una transacción activa de nivel de aislamiento de instantáneas utilice el extremo que se modifica.

Pueden ejecutar las solicitudes en un elemento ENDPOINT:

  • Los miembros del rol fijo de servidor sysadmin

  • El propietario del extremo

  • Los usuarios o grupos con permiso CONNECT en el extremo

Permisos

Requiere permiso CREATE ENDPOINT o pertenecer al rol fijo de servidor sysadmin. Para obtener más información, vea GRANT (permisos de extremo de Transact-SQL).

Ejemplos

A. Crear un extremo para utilizarlo con solicitudes SOAP

En este ejemplo se crea un extremo denominado sql_endpoint, con dos métodos: GetSqlInfo y DayAsNumber. Éstos son los métodos para los que un cliente puede enviar solicitudes SOAP al extremo.

Para cada método, el valor predeterminado para la opción FORMAT es ALL_RESULTS. Por lo tanto, la respuesta SOAP para la solicitud de método incluirá mensajes de error, advertencias e información de recuento de filas.

Tenga en cuenta la siguiente configuración específica de SOAP:

  • La opción SCHEMA se establece en STANDARD para el extremo. Por lo tanto, de forma predeterminada, los esquemas alineados se devuelven en respuestas SOAP.

  • La opción WSDL se establece en DEFAULT. Por lo tanto, si un cliente solicita una respuesta WSDL desde este extremo (https://Server/sql?wsdl), el servidor generará y devolverá una respuesta WSDL al 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

Puede consultar la vista de catálogo para encontrar la información acerca del extremo que ha creado, como se muestra en estos ejemplos. También puede combinar estas vistas de catálogo para obtener los datos deseados.

Consulte sys.endpoints para recuperar toda la información de los extremos del sistema. Esto incluye el nombre, el Id. del extremo, el Id. del servidor principal al que pertenece el extremo y otras propiedades del extremo.

SELECT *
FROM sys.endpoints;

Puede consultar sys.http_endpoints para recuperar información del extremo detallada relacionada con HTTP, como el mecanismo SITE, URL, AUTHENTICATION y otra información específica de HTTP.

SELECT *
FROM sys.http_endpoints;

Para recuperar información específica de SOAP acerca del extremo, consulte sys.soap_endpoints.

SELECT * 
FROM sys.soap_endpoints;

Para recuperar los métodos SOAP definidos en el extremo, consulte sys.endpoint_webmethods.

SELECT *
FROM sys.endpoint_webmethods;

B. Crear un extremo de creación de reflejo de la base de datos

En el siguiente ejemplo se crea un extremo de creación de reflejo de la base de datos. El extremo utiliza el número de puerto 7022, aunque cualquier número de puerto disponible sirve. El extremo se configura para utilizar la autenticación de Windows solo con Kerberos. La opción ENCRYPTION se configura con el valor que no es predeterminado de SUPPORTED para admitir datos cifrados o no cifrados. El extremo se configura para admitir los roles de asociado y testigo.

CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (
       AUTHENTICATION = WINDOWS KERBEROS,
       ENCRYPTION = SUPPORTED,
       ROLE=ALL);
GO

C. Especificar un puerto

Al crear un extremo SOAP en un servidor de Windows Server a partir de Windows Server 2003, si la combinación de ruta de acceso (URL) y puerto la está usando IIS, CREATE ENDPOINT generará un error.

En Windows XP, deberá detener IIS para que los extremos SOAP funcionen correctamente.

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/' );