Regroupement de connexions prenant en charge le pilote dans le pilote ODBC pour SQL Server
ODBC Driver for SQL Server prend en charge le regroupement de connexions prenant en charge les pilotes. Cet article décrit les améliorations du pool de connexions prenant en charge le pilote dans Microsoft ODBC Driver pour SQL Server sur Windows :
Quelles que soient les propriétés de connexion, les connexions qui utilisent
SQLDriverConnect
vont dans un pool différent de celui des connexions qui utilisentSQLConnect
.Quand vous utilisez l’authentification SQL Server et un pool de connexions prenant en charge le pilote, le pilote n’utilise pas le contexte de sécurité de l’utilisateur Windows pour le thread actuel afin de séparer les connexions dans le pool. Autrement dit, si les connexions ont des paramètres équivalents pour les scénarios d’emprunt d’identité Windows avec l’authentification SQL Server et qu’elles utilisent les mêmes informations d’identification d’authentification SQL Server pour se connecter au back-end, différents utilisateurs Windows peuvent éventuellement utiliser le même pool de connexions. Quand vous utilisez l’authentification Windows et le regroupement de connexions prenant en charge les pilotes, le pilote utilise le contexte de sécurité de l’utilisateur Windows actuel pour séparer les connexions dans le regroupement. Autrement dit, pour les scénarios d’emprunt d’identité Windows, les différents utilisateurs Windows ne partagent pas les connexions même si celles-ci utilisent les mêmes paramètres.
Si vous utilisez Microsoft Entra ID (anciennement Azure Active Directory) et le regroupement de connexions avec prise en charge des pilotes, le pilote se sert également de la valeur d’authentification pour déterminer l’appartenance au groupe de connexions.
Le regroupement de connexions prenant en charge les pilotes empêche une mauvaise connexion d’être retournée à partir du regroupement.
Le regroupement de connexions prenant en charge les pilotes reconnaît les attributs de connexion spécifiques du pilote. Ainsi, si une connexion utilise
SQL_COPT_SS_APPLICATION_INTENT
en lecture seule, elle récupère son propre pool de connexions.Si l’attribut
SQL_COPT_SS_ACCESS_TOKEN
est défini, la connexion est regroupée séparément.
Si l’un des ID d’attribut de connexion ou des mots clés de chaîne de connexion suivants est différent entre votre chaîne de connexion et la chaîne de connexion regroupée, le pilote utilise une connexion regroupée. Toutefois, les performances sont meilleures si tous les ID d’attribut de connexion ou mots clés de chaîne de connexion correspondent. (Pour obtenir une correspondance à une connexion dans le pool, le pilote réinitialise l’attribut.) Les performances se dégradent, car la réinitialisation des paramètres suivants nécessite un appel réseau supplémentaire.
Si plus de deux des attributs de connexion ou mots clés de connexion suivants diffèrent, aucune connexion groupée n’est utilisée.
Language
QuoteId
SQL_ATTR_TXN_ISOLATION
SQL_COPT_SS_QUOTED_IDENT
Si un des mots clés de connexion suivants est différent entre votre chaîne de connexion et une chaîne de connexion groupée, aucune connexion groupée n’est utilisée.
Mot clé Pilote ODBC 13+ ODBC Driver 11 Address
Oui Oui AnsiNPW
Oui Oui App
Oui Oui ApplicationIntent
Oui Oui Authentication
Oui No ColumnEncryption
Oui No Database
Oui Oui Encrypt
Oui Oui Failover_Partner
Oui Oui FailoverPartnerSPN
Oui Oui MARS_Connection
Oui Oui Network
Oui Oui PWD
Oui Oui Server
Oui Oui ServerSPN
Oui Oui TransparentNetworkIPResolution
Oui Oui Trusted_Connection
Oui Oui TrustServerCertificate
Oui Oui UID
Oui Oui WSID
Oui Oui Si un des attributs de connexion suivants est différent entre votre chaîne de connexion et une chaîne de connexion groupée, aucune connexion groupée n’est utilisée.
Attribut Pilote ODBC 13+ ODBC Driver 11 SQL_ATTR_CURRENT_CATALOG
Oui Oui SQL_ATTR_PACKET_SIZE
Oui Oui SQL_COPT_SS_ANSI_NPW
Oui Oui SQL_COPT_SS_ACCESS_TOKEN
Oui No SQL_COPT_SS_AUTHENTICATION
Oui No SQL_COPT_SS_ATTACHDBFILENAME
Oui Oui SQL_COPT_SS_BCP
Oui Oui SQL_COPT_SS_COLUMN_ENCRYPTION
Oui No SQL_COPT_SS_CONCAT_NULL
Oui Oui SQL_COPT_SS_ENCRYPT
Oui Oui SQL_COPT_SS_FAILOVER_PARTNER
Oui Oui SQL_COPT_SS_FAILOVER_PARTNER_SPN
Oui Oui SQL_COPT_SS_INTEGRATED_SECURITY
Oui Oui SQL_COPT_SS_MARS_ENABLED
Oui Oui SQL_COPT_SS_OLDPWD
Oui Oui SQL_COPT_SS_SERVER_SPN
Oui Oui SQL_COPT_SS_TRUST_SERVER_CERTIFICATE
Oui Oui SSPROP_AUTH_REPL_SERVER_NAME
Oui Oui SQL_COPT_SS_TNIR
Oui Non Le pilote peut réinitialiser et ajuster les mots clés et attributs de connexion suivants sans appel réseau supplémentaire. Le pilote réinitialise ces paramètres pour que la connexion ne contienne pas d’informations incorrectes.
Ces mots clés de connexion ne sont pas pris en compte quand le Gestionnaire de pilotes tente de faire correspondre votre connexion à une connexion du pool. (Même si vous modifiez l'un de ces paramètres, une connexion existante peut être réutilisée. Le pilote réinitialisera les options, le cas échéant). Ces attributs peuvent être réinitialisés côté client sans appel réseau supplémentaire.
Mot clé Pilote ODBC 13+ ODBC Driver 11 AutoTranslate
Oui Oui Description
Oui Oui MultisubnetFailover
Oui Oui QueryLog_On
Oui Oui QueryLogFile
Oui Oui QueryLogTime
Oui Oui Regional
Oui Oui StatsLog_On
Oui Oui StatsLogFile
Oui Oui Si vous modifiez l’un des attributs de connexion suivants, une connexion existante peut être réutilisée. Le pilote réinitialise la valeur, si nécessaire. Le pilote peut réinitialiser ces attributs dans le client sans appel réseau supplémentaire.
Attribut Pilote ODBC 13+ ODBC Driver 11 Tous les attributs d’instruction Oui Oui SQL_ATTR_AUTOCOMMIT
Oui Oui SQL_ATTR_CONNECTION_TIMEOUT
Oui Oui SQL_ATTR_DISCONNECT_BEHAVIOR SQL_ATTR_CONNECTION_TIMEOUT
Oui Oui SQL_ATTR_LOGIN_TIMEOUT
Oui Oui SQL_ATTR_ODBC_CURSORS
Oui Oui SQL_COPT_SS_PERF_DATA
Oui Oui SQL_COPT_SS_PERF_DATA_LOG
Oui Oui SQL_COPT_SS_PERF_DATA_LOG_NOW
Oui Oui SQL_COPT_SS_PERF_QUERY
Oui Oui SQL_COPT_SS_PERF_QUERY_INTERVAL
Oui Oui SQL_COPT_SS_PERF_QUERY_LOG
Oui Oui SQL_COPT_SS_PRESERVE_CURSORS
Oui Oui SQL_COPT_SS_TRANSLATE
Oui Oui SQL_COPT_SS_USER_DATA
Oui Oui SQL_COPT_SS_WARN_ON_CP_ERROR
Oui Oui