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 pour SQL Server (SQLOLEDB) hérité ne sont pas recommandés pour le développement de nouvelles 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 :