Partage via


Noms de principaux du service (SPN) dans les connexions clientes (ODBC)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Important

SQL Server Native Client (SNAC) n’est pas fourni avec :

  • 2022 - SQL Server 16 (16.x) et versions ultérieures
  • SQL Server Management Studio 19 et versions ultérieures

SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés pour le nouveau développement d’applications.

Pour les nouveaux projets, utilisez l'un des pilotes suivants :

Pour SQLNCLI qui est fourni en tant que composant du moteur de base de données SQL Server (versions 2012 à 2019), consultez cette exception du cycle de vie du support.

Cette rubrique décrit les attributs et fonctions ODBC qui prennent en charge les noms de principaux du service (SPN) dans les applications clientes. Pour plus d’informations sur les SPN dans les applications clientes, consultez prise en charge du nom de principal de service (SPN) dans les connexions clientes et obtention de l’authentification Kerberos mutuelle.

Mots clés de chaîne de connexion

Les mots clés de chaîne de connexion suivants permettent aux applications clientes de spécifier un nom principal de service.

Mot clé Valeur
ServerSPN Nom principal de service (SPN) du serveur. La valeur par défaut est une chaîne vide, ce qui amène SQL Server Native Client à utiliser le SPN généré par le pilote par défaut.
FailoverPartnerSPN Nom principal de service du partenaire de basculement. La valeur par défaut est une chaîne vide, ce qui amène SQL Server Native Client à utiliser le SPN généré par le pilote par défaut.

Attributs de connexion

Les attributs de connexion suivants permettent aux applications clientes de spécifier un nom principal de service et d'interroger la méthode d'authentification.

Nom Type Utilisation
SQL_COPT_SS_SERVER_SPN

SQL_COPT_SS_FAILOVER_PARTNER_SPN
SQLTCHAR, lecture/écriture Spécifie le nom principal de service du serveur. La valeur par défaut est une chaîne vide, ce qui amène SQL Server Native Client à utiliser le SPN généré par le pilote par défaut.

Cet attribut peut être interrogé uniquement après avoir été défini par programme ou après l'ouverture d'une connexion. Si une tentative d'interrogation de cet attribut sur une connexion qui n'est pas ouverte est effectuée et que l'attribut n'a pas été défini par programme, SQL_ERROR est retournée et un enregistrement de diagnostic est enregistré avec SQLState 08003 et le message « Connexion non ouverte ».

Si une tentative de définition de cet attribut est effectuée lorsqu'une connexion est ouverte, SQL_ERROR est retournée et un enregistrement de diagnostic est consigné avec SQLState HY011 et le message « Opération actuellement non valide ».
SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD SQLTCHAR, lecture seule Retourne la méthode d'authentification utilisée pour la connexion. La valeur retournée à l’application est la valeur que Windows retourne à SQL Server Native Client. Les valeurs possibles sont les suivantes :

« NTLM », lorsqu'une connexion est ouverte à l'aide de l'authentification NTLM.

« Kerberos », lorsqu'une connexion est ouverte à l'aide de l'authentification Kerberos.



Cet attribut peut être lu uniquement pour une connexion ouverte ayant utilisé l'authentification Windows. Si une tentative de lecture de cet attribut est effectuée avant qu'une connexion ait été ouverte, SQL_ERROR est retournée et une erreur est enregistrée avec SQLState 08003 et le message « Connexion non ouverte ».

Si cet attribut est interrogé sur une connexion qui n'a pas utilisé l'authentification Windows, SQL_ERROR est retournée, une erreur est enregistrée avec SQLState HY092 et le message « Identificateur d'option/attribut non valide (SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD n'est disponible que pour les connexions approuvées) ».

Si la méthode d'authentification ne peut pas être déterminée, SQL_ERROR est retournée et une erreur est enregistrée avec SQLState HY000 et le message « Erreur générale »
SQL_COPT_SS_MUTUALLY_AUTHENTICATED SQLSMALLINT, lecture seule Retourne SQL_TRUE si le serveur dans la connexion a été authentifié mutuellement ; sinon, retourne SQL_FALSE.

Cet attribut peut être lu uniquement pour une connexion ouverte. Si une tentative de lecture de cet attribut est effectuée avant qu'une connexion ait été ouverte, SQL_ERROR est retournée et une erreur est enregistrée avec SQLState 08003 et le message « Connexion non ouverte ».

Si cet attribut est interrogé pour une connexion n'ayant pas utilisé l'authentification Windows, SQL_FALSE est retournée.

Prise en charge de fonction ODBC pour la spécification des SPN

Les fonctions ODBC suivantes prennent en charge les applications clientes et les noms principaux de service :

Voir aussi

SQL Server Native Client (ODBC)