Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der ODBC Driver for SQL Server unterstützt treiberfähiges Verbindungspooling. In diesem Artikel werden die Verbesserungen in Bezug auf das treiberfähige Verbindungspooling im Microsoft ODBC Driver for SQL Server unter Windows beschrieben:
Unabhängig von den Verbindungseigenschaften wechseln Verbindungen, die
SQLDriverConnectverwenden, in einen anderen Pool als Verbindungen, dieSQLConnectverwenden.Bei Verwendung der SQL Server-Authentifizierung und des treiberfähigen Verbindungspoolings verwendet der Treiber nicht den Sicherheitskontext des Windows-Benutzers für den aktuellen Thread, um Verbindungen im Pool zu trennen. Das bedeutet: Wenn Verbindungen in ihren Parametern für Identitätswechsel-Szenarien unter Windows mit der SQL Server-Authentifizierung äquivalent sind und die gleichen SQL Server-Anmeldeinformationen für die Verbindung mit dem Back-End verwenden, können andere Windows-Benutzer ggf. den gleichen Pool von Verbindungen verwenden. Bei Verwendung der Windows-Authentifizierung und des treiberfähigen Verbindungspoolings verwendet der Treiber den aktuellen Sicherheitkontext des Windows-Benutzers für den aktuellen Thread, um Verbindungen im Pool zu trennen. Bei Windows-Identitätswechsel-Szenarios verwenden verschiedene Windows-Benutzer Verbindungen daher auch dann nicht gemeinsam, wenn die Verbindungen dieselben Parameter verwenden.
Wenn Sie Microsoft Entra ID (ehemals Azure Active Directory) und treiberfähiges Verbindungspooling verwenden, verwendet der Treiber ebenfalls den Authentifizierungswert, um die Mitgliedschaft beim Verbindungspool zu ermitteln.
Treiberfähiges Verbindungspooling verhindert, dass eine fehlerhafte Verbindung aus dem Pool zurückgegeben wird.
Treiberfähiges Verbindungspooling erkennt treiberspezifische Verbindungsattribute. Wenn eine Verbindung also ein schreibgeschütztes
SQL_COPT_SS_APPLICATION_INTENT-Attribut verwendet, erhält diese einen eigenen Verbindungspool.Wenn das
SQL_COPT_SS_ACCESS_TOKEN-Attribut festgelegt wird, wird die Verbindung in einen separaten Pool aufgenommen.
Wenn eine der folgenden Verbindungsattribut-IDs oder eines der Schlüsselwörter für Verbindungszeichenfolgen zwischen Ihrer Verbindungszeichenfolge und der in einem Pool zusammengefassten Verbindungszeichenfolge abweicht, verwendet der Treiber eine gepoolte Verbindung. Allerdings ist die Leistung besser, wenn alle Verbindungsattribut-IDs oder Schlüsselwörter für Verbindungszeichenfolgen übereinstimmen. (Um eine Verbindung im Pool zuzuordnen, setzt der Treiber das Attribut zurück.) Die Leistung wird beeinträchtigt, da für das Zurücksetzen der folgenden Parameter ein zusätzlicher Netzwerkaufruf erforderlich ist.
Wenn mindestens zwei der folgenden Verbindungsattribute oder Verbindungsschlüsselwörter nicht übereinstimmen, wird keine gepoolte Verbindung verwendet.
LanguageQuoteIdSQL_ATTR_TXN_ISOLATIONSQL_COPT_SS_QUOTED_IDENT
Falls es einen Unterschied in einem der folgenden Verbindungsschlüsselwörter zwischen der jeweiligen Verbindungszeichenfolge und einer gepoolten Verbindungszeichenfolge gibt, wird keine gepoolte Verbindung verwendet.
Schlüsselwort ODBC-Treiber 13+ ODBC-Treiber 11 AddressJa Ja AnsiNPWJa Ja AppJa Ja ApplicationIntentJa Ja AuthenticationJa Keine ColumnEncryptionJa Keine DatabaseJa Ja EncryptJa Ja Failover_PartnerJa Ja FailoverPartnerSPNJa Ja MARS_ConnectionJa Ja NetworkJa Ja PWDJa Ja ServerJa Ja ServerSPNJa Ja TransparentNetworkIPResolutionJa Ja Trusted_ConnectionJa Ja TrustServerCertificateJa Ja UIDJa Ja WSIDJa Ja Falls es einen Unterschied in einem der folgenden Verbindungsattribute zwischen der jeweiligen Verbindungszeichenfolge und einer gepoolten Verbindungszeichenfolge gibt, wird keine gepoolte Verbindung verwendet.
attribute ODBC-Treiber 13+ ODBC-Treiber 11 SQL_ATTR_CURRENT_CATALOGJa Ja SQL_ATTR_PACKET_SIZEJa Ja SQL_COPT_SS_ANSI_NPWJa Ja SQL_COPT_SS_ACCESS_TOKENJa Keine SQL_COPT_SS_AUTHENTICATIONJa Keine SQL_COPT_SS_ATTACHDBFILENAMEJa Ja SQL_COPT_SS_BCPJa Ja SQL_COPT_SS_COLUMN_ENCRYPTIONJa Keine SQL_COPT_SS_CONCAT_NULLJa Ja SQL_COPT_SS_ENCRYPTJa Ja SQL_COPT_SS_FAILOVER_PARTNERJa Ja SQL_COPT_SS_FAILOVER_PARTNER_SPNJa Ja SQL_COPT_SS_INTEGRATED_SECURITYJa Ja SQL_COPT_SS_MARS_ENABLEDJa Ja SQL_COPT_SS_OLDPWDJa Ja SQL_COPT_SS_SERVER_SPNJa Ja SQL_COPT_SS_TRUST_SERVER_CERTIFICATEJa Ja SSPROP_AUTH_REPL_SERVER_NAMEJa Ja SQL_COPT_SS_TNIRJa Keine Der Treiber kann die folgenden Verbindungsschlüsselwörter und Attribute zurücksetzen und anpassen, ohne einen zusätzlichen Netzwerkaufruf durchzuführen. Der Treiber setzt diese Parameter zurück, um sicherzustellen, dass die Verbindung keine falschen Informationen enthält.
Diese Verbindungsschlüsselwörter werden nicht berücksichtigt, wenn der Treiber-Manager versucht, die jeweilige Verbindung einer Verbindung im Pool zuzuordnen. (Auch wenn Sie einen dieser Parameter ändern, kann eine vorhandene Verbindung wiederverwendet werden. Der Treiber setzt die Optionen nach Bedarf zurück.) Diese Attribute können auf der Clientseite zurückgesetzt werden, ohne dass ein zusätzlicher Netzwerkaufruf erforderlich ist.
Schlüsselwort ODBC-Treiber 13+ ODBC-Treiber 11 AutoTranslateJa Ja DescriptionJa Ja MultisubnetFailoverJa Ja QueryLog_OnJa Ja QueryLogFileJa Ja QueryLogTimeJa Ja RegionalJa Ja StatsLog_OnJa Ja StatsLogFileJa Ja Wenn Sie eine der folgenden Verbindungsattribute ändern, kann eine vorhandene Verbindung wiederverwendet werden. Der Treiber wird je nach Bedarf den Wert zurücksetzen. Der Treiber kann diese Attribute clientseitig ohne einen zusätzliche Netzwerkaufruf zurücksetzen
attribute ODBC-Treiber 13+ ODBC-Treiber 11 Alle Anweisungsattribute Ja Ja SQL_ATTR_AUTOCOMMITJa Ja SQL_ATTR_CONNECTION_TIMEOUTJa Ja SQL_ATTR_DISCONNECT_BEHAVIOR SQL_ATTR_CONNECTION_TIMEOUTJa Ja SQL_ATTR_LOGIN_TIMEOUTJa Ja SQL_ATTR_ODBC_CURSORSJa Ja SQL_COPT_SS_PERF_DATAJa Ja SQL_COPT_SS_PERF_DATA_LOGJa Ja SQL_COPT_SS_PERF_DATA_LOG_NOWJa Ja SQL_COPT_SS_PERF_QUERYJa Ja SQL_COPT_SS_PERF_QUERY_INTERVALJa Ja SQL_COPT_SS_PERF_QUERY_LOGJa Ja SQL_COPT_SS_PRESERVE_CURSORSJa Ja SQL_COPT_SS_TRANSLATEJa Ja SQL_COPT_SS_USER_DATAJa Ja SQL_COPT_SS_WARN_ON_CP_ERRORJa Ja