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

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Important

SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB pour SQL Server (SQLOLEDB) hérité ne sont pas recommandés dans les nouveaux développements. Utilisez à la place le nouveau Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server ou le Microsoft ODBC Driver for SQL Server le plus récent. Pour SQLNCLI fourni en tant que composant du moteur de base de données SQL Server (versions 2012 à 2019), consultez cette exception de cycle de vie de 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 noms de principal de service dans les applications clientes, consultez Prise en charge du nom de principal du 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 par défaut généré par le pilote.
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 par défaut généré par le pilote.

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 Usage
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 par défaut généré par le pilote.

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)