CREATE ENDPOINT (Transact-SQL)

Permet de créer des points de terminaison et de définir leurs propriétés, ainsi que les méthodes à la disposition des applications clientes. Pour plus d'informations sur les autorisations afférentes, consultez GRANT – octroi d'autorisations de point de terminaison (Transact-SQL).

La syntaxe de l'instruction CREATE ENDPOINT peut être logiquement subdivisée en deux parties :

  • La première partie commence par AS et se termine avant la clause FOR.

    Dans cette partie, vous fournissez des informations propres au protocole de transport (TCP), vous définissez un numéro de port d'écoute pour le point de terminaison et vous précisez la méthode d'authentification du point de terminaison et/ou une liste d'adresses IP (le cas échéant) que vous souhaitez empêcher d'accéder au point de terminaison.

  • La seconde partie commence par la clause FOR.

    Dans cette partie, vous définissez la charge utile prise en charge sur le point de terminaison. La charge utile peut être de divers types parmi ceux pris en charge : Transact-SQL, Service Broker, mise en miroir de bases de données. Dans cette partie, vous préciserez également des informations propres à la langue.

[!REMARQUE]

Les services Web XML natifs (points de terminaison SOAP/HTTP) ont été supprimés dans SQL Server 2012.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

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 | ( 4-part-ip ) | ( "ip_address_v6" ) ]

)

<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 }
)

Arguments

  • endPointName
    Correspond au nom affecté au point de terminaison que vous créez. À utiliser lors de la mise à jour ou la suppression du point de terminaison.

  • AUTHORIZATION login
    Indique une connexion SQL Server ou Windows valide qui détient l'objet de point de terminaison qui vient d'être créé. Si l'argument AUTHORIZATION n'est pas spécifié, l'appelant devient, par défaut, le propriétaire de l'objet qui vient d'être créé.

    Pour affecter la propriété en spécifiant l'argument AUTHORIZATION, l'appelant doit bénéficier de la permission IMPERSONATE sur le login concerné.

    Pour réaffecter la propriété, consultez ALTER ENDPOINT (Transact-SQL).

  • STATE = { STARTED | STOPPED | DISABLED }
    Correspond à l'état du point de terminaison lors de sa création. Si l'état n'est pas précisé lors de la création du point de terminaison, STOPPED est la valeur par défaut.

    • STARTED
      Le point de terminaison est lancé et écoute activement les connexions.

    • DISABLED
      Le point de terminaison est désactivé. Dans cet état, le serveur écoute les requêtes du port mais renvoie des erreurs aux clients.

    • STOPPED
      Le point de terminaison est arrêté. Dans cet état, le serveur n'écoute pas le port du point de terminaison et ne répond à aucune tentative de requête visant l'utilisation du point de terminaison.

    Pour modifier l'état, consultez ALTER ENDPOINT (Transact-SQL).

  • AS { TCP }
    Spécifie le protocole de transport à utiliser.

  • FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
    Spécifie le type de charge utile.

    Actuellement, il n'existe pas d'argument Transact-SQL spécifique à une langue à passer au paramètre <language_specific_arguments>.

Option de protocole TCP

Les arguments suivants s'appliquent uniquement à l'option du protocole TCP.

  • LISTENER_PORT **=**listenerPort
    Spécifie le numéro du port écouté pour les connexions par le protocole TCP/IP Service Broker. Par convention, 4022 est utilisé mais n'importe quel numéro entre 1024 et 32767 est valide.

  • LISTENER_IP = ALL | **(**4-part-ip ) | ( "ip_address_v6" )
    Spécifie l'adresse IP que le point de terminaison va écouter. La valeur par défaut est ALL. Ce qui signifie que l'écouteur acceptera une connexion sur n'importe quelle adresse IP valide.

    Si vous configurez la mise en miroir de bases de données avec une adresse IP au lieu d'un nom de domaine complet (ALTER DATABASE SET PARTNER = partner_IP_address ou ALTER DATABASE SET WITNESS = witness_IP_address), vous devez spécifier LISTENER_IP =IP_address au lieu de LISTENER_IP=ALL lorsque vous créez des points de terminaison de mise en miroir.

Options SERVICE_BROKER et DATABASE_MIRRORING

Les arguments AUTHENTICATION et ENCRYPTION suivants sont communs aux options SERVICE_BROKER et DATABASE_MIRRORING.

[!REMARQUE]

Pour les options propres à SERVICE_BROKER, consultez la section « Options SERVICE_BROKER » ci-dessous. Pour les options propres à DATABASE_MIRRORING, consultez la section « Options DATABASE_MIRRORING » ci-dessous.

  • AUTHENTICATION = <authentication_options>
    Indique les exigences d'authentification TCP/IP pour les connexions à ce point de terminaison. Le paramètre par défaut est WINDOWS.

    Parmi les méthodes d'authentification prises en charge figurent NTLM et/ou Kerberos.

    Important

    Toutes les connexions de mise en miroir situées sur une instance du serveur utilisent un point de terminaison de mise en miroir de bases de données unique. Toutes les tentatives de création d'un autre point de terminaison de mise en miroir de bases de données échouent.

    <authentication_options> ::=

    • WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
      Indique que le point de terminaison doit se connecter à l'aide du protocole d'authentification Windows pour authentifier les points de terminaison. Il s'agit du paramètre par défaut.

      Si vous spécifiez une méthode d'autorisation (NTLM ou KERBEROS), cette méthode est utilisée en tant que protocole d'authentification. Avec la valeur par défaut, NEGOTIATE, le point de terminaison utilise le protocole de négociation Windows pour choisir NTLM ou Kerberos.

    • CERTIFICATE certificate_name
      Indique que le point de terminaison doit authentifier la connexion à l'aide du certificat spécifié par l'argument certificate_name afin de déterminer l'identité requise pour l'autorisation. Le point de terminaison éloigné doit disposer d'un certificat dont la clé publique correspond à la clé privée du certificat spécifié.

    • WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
      Indique que le point de terminaison doit essayer de se connecter à l'aide de l'authentification Windows et qu'en cas d'échec, il doit essayer en utilisant le certificat spécifié.

    • CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
      Indique que le point de terminaison doit essayer de se connecter à l'aide du certificat spécifié et qu'en cas d'échec, il doit essayer en utilisant l'authentification Windows.

  • ENCRYPTION = { DISABLED | SUPPORTED | REQUIRED } [ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ]
    Spécifie si le chiffrement est utilisé dans le processus. La valeur par défaut est REQUIRED.

    • DISABLED
      Spécifie que les données envoyées sur une connexion ne sont pas chiffrées.

    • SUPPORTED
      Spécifie que les données sont chiffrées uniquement si le point de terminaison opposé spécifie SUPPORTED ou REQUIRED.

    • REQUIRED
      Indique que les connexions à ce point de terminaison doivent recourir au chiffrement. Par conséquent, pour se connecter à ce point de terminaison, un autre point de terminaison doit avoir l'argument ENCRYPTION défini sur SUPPORTED ou REQUIRED.

    Vous pouvez éventuellement utiliser l'argument ALGORITHM pour spécifier le type de chiffrement utilisé par le point de terminaison, comme suit :

    • RC4
      Indique que le point de terminaison doit utiliser l'algorithme RC4. Il s'agit du paramètre par défaut.

      [!REMARQUE]

      L'algorithme RC4 est uniquement pris en charge pour des raisons de compatibilité descendante. Le nouveau matériel ne peut être chiffré à l'aide de RC4 ou de RC4_128 que lorsque la base de données se trouve dans le niveau de compatibilité 90 ou 100. (Non recommandé.) Utilisez à la place un algorithme plus récent, tel qu'un des algorithmes AES. Dans SQL Server 2012, le matériel chiffré à l'aide de RC4 ou de RC4_128 peut être déchiffré dans n'importe quel niveau de compatibilité.

    • AES
      Indique que le point de terminaison doit utiliser l'algorithme AES.

    • AES RC4
      Indique que les deux points de terminaison négocieront un algorithme de chiffrement avec ce point de terminaison, en donnant la préférence à l'algorithme AES.

    • RC4 AES
      Indique que les deux points de terminaison négocieront un algorithme de chiffrement avec ce point de terminaison, en donnant la préférence à l'algorithme RC4.

    [!REMARQUE]

    L'algorithme RC4 est déconseillé. Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et modifiez dès que possible les applications qui utilisent actuellement cette fonctionnalité. Nous vous recommandons d'utiliser AES.

    Si les deux points de terminaison spécifient les deux algorithmes mais dans des ordres différents, le point de terminaison acceptant la connexion a le dernier mot.

Options SERVICE_BROKER

Les arguments suivants sont propres à l'option SERVICE_BROKER.

  • MESSAGE_FORWARDING = { ENABLED | DISABLED }
    Détermine si les messages reçus par ce point de terminaison qui sont destinés à des services situés ailleurs seront transférés.

    • ENABLED
      Transfère les messages si une adresse de transfert est disponible.

    • DISABLED
      Annule les messages destinés à des services situés ailleurs. Il s'agit du paramètre par défaut.

  • MESSAGE_FORWARD_SIZE **=**forward_size
    Indique l'espace de stockage maximal, en mégaoctets, à allouer au point de terminaison lors du stockage des messages à transférer.

Options DATABASE_MIRRORING

L'argument suivant est propre à l'option DATABASE_MIRRORING.

  • ROLE = { WITNESS | PARTNER | ALL }
    Spécifie le ou les rôles de mise en miroir de bases de données pris en charge par le point de terminaison.

    • WITNESS
      Permet au point de terminaison de remplir le rôle de témoin dans le processus de mise en miroir de bases de données.

      [!REMARQUE]

      Pour SQL Server 2005 Express Edition, WITNESS est la seule option disponible.

    • PARTNER
      Permet au point de terminaison de remplir le rôle de partenaire dans le processus de mise en miroir de bases de données.

    • ALL
      Permet au point de terminaison de remplir le rôle de témoin et de partenaire dans le processus de mise en miroir de bases de données.

    Pour plus d'informations sur ces rôles, consultez Mise en miroir de bases de données (SQL Server).

[!REMARQUE]

Aucun port par défaut n'est associé à DATABASE_MIRRORING.

Notes

Les instructions ENDPOINT DDL ne peuvent pas être exécutées au sein d'une transaction utilisateur. Les instructions ENDPOINT DDL n'échouent pas, même si une transaction active au niveau d'isolement d'instantané utilise le point de terminaison faisant l'objet d'une modification.

Les requêtes peuvent être exécutées sur un ENDPOINT par :

  • les membres du rôle serveur fixe sysadmin ;

  • le propriétaire du point de terminaison ;

  • les utilisateurs ou groupes disposant de l'autorisation CONNECT sur le point de terminaison.

Autorisations

Requiert l'autorisation CREATE ENDPOINT ou l'appartenance au rôle serveur fixe sysadmin. Pour plus d'informations, consultez GRANT – octroi d'autorisations de point de terminaison (Transact-SQL).

Exemple

Création d'un point de terminaison pour la mise en miroir de bases de données

L'exemple suivant crée un point de terminaison pour la mise en miroir de bases de données. Le point de terminaison utilise le port numéro 7022, bien que tout numéro de port disponible convienne. Ce point est configuré en vue d'utiliser l'authentification Windows associée uniquement à Kerberos. L'option ENCRYPTION est paramétrée sur la valeur non définie par défaut SUPPORTED afin de prendre en charge les données chiffrées ou non. Le point de terminaison est configuré pour prendre en charge les rôles de partenaire et de témoin.

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

Voir aussi

Référence

ALTER ENDPOINT (Transact-SQL)

DROP ENDPOINT (Transact-SQL)

EVENTDATA (Transact-SQL)

Concepts

Choisir un algorithme de chiffrement