Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйвер ODBC для SQL Server поддерживает пул подключений с поддержкой драйверов. В этой статье описываются улучшения, внесенные в пул подключений с поддержкой драйверов в драйвере Microsoft ODBC для SQL Server в Windows:
Независимо от свойств соединения, использующие
SQLDriverConnect, помещаются в пул, отличный от пула соединений, использующихSQLConnect.При использовании пула подключений с поддержкой проверки подлинности SQL Server и пула подключений с поддержкой драйверов драйвер не использует контекст безопасности пользователя Windows для текущего потока для разделения подключений в пуле. То есть, если подключения эквивалентны в своих параметрах для сценариев олицетворения Windows с проверкой подлинности SQL Server, и они используют те же учетные данные проверки подлинности SQL Server для подключения к серверной части, разные пользователи Windows могут потенциально использовать один пул подключений. При использовании проверки подлинности Windows и организации пулов соединений с учетом драйвера драйвер использует текущий контекст безопасности пользователя Windows, чтобы разделить соединения в пуле. Таким образом, для сценариев олицетворения Windows различные пользователи Windows не используют совместно одни и те же соединения, даже если эти соединения используют одинаковые параметры.
При использовании идентификатора Microsoft Entra (ранее Azure Active Directory) и пула подключений с поддержкой драйверов драйвер также использует значение проверки подлинности для определения членства в пуле подключений.
Организация пулов соединений с учетом драйвера предотвращает возвращение плохого соединения из пула.
Организация пулов соединений с учетом драйвера распознает атрибуты соединения для конкретного драйвера. Таким образом, если соединение использует
SQL_COPT_SS_APPLICATION_INTENTв режиме только для чтения, это соединение получает собственный пул соединений.Установка атрибута
SQL_COPT_SS_ACCESS_TOKENозначает, что для соединения будет создан отдельный пул
Если один из следующих идентификаторов атрибутов соединения или ключевых слов строки подключения различается между строкой подключения и строкой подключения в пуле, драйвер использует соединение в составе пула. Тем не менее производительность повышается, когда все идентификаторы атрибутов соединения или ключевые слова строки подключения совпадают. (Для сопоставления соединения в пуле драйвер сбрасывает атрибут.) Производительность снижается, поскольку для сброса следующих параметров требуется дополнительный вызов по сети.
Если два или более из следующих атрибутов соединения или ключевых слов соединения не совпадают, соединение в составе пула не используется.
LanguageQuoteIdSQL_ATTR_TXN_ISOLATIONSQL_COPT_SS_QUOTED_IDENT
Если существует различие в любом из следующих ключевых слов соединения между строкой подключения и строкой подключения в пуле, соединение в составе пула не используется.
Ключевое слово Драйвер ODBC 13+ Драйвер ODBC 11 AddressДа Да AnsiNPWДа Да AppДа Да ApplicationIntentДа Да AuthenticationДа No ColumnEncryptionДа No DatabaseДа Да EncryptДа Да Failover_PartnerДа Да FailoverPartnerSPNДа Да MARS_ConnectionДа Да NetworkДа Да PWDДа Да ServerДа Да ServerSPNДа Да TransparentNetworkIPResolutionДа Да Trusted_ConnectionДа Да TrustServerCertificateДа Да UIDДа Да WSIDДа Да Если существует различие в любом из следующих атрибутов соединения между строкой подключения и строкой подключения в пуле, соединение в составе пула не используется.
Атрибут Драйвер ODBC 13+ Драйвер ODBC 11 SQL_ATTR_CURRENT_CATALOGДа Да SQL_ATTR_PACKET_SIZEДа Да SQL_COPT_SS_ANSI_NPWДа Да SQL_COPT_SS_ACCESS_TOKENДа No SQL_COPT_SS_AUTHENTICATIONДа No SQL_COPT_SS_ATTACHDBFILENAMEДа Да SQL_COPT_SS_BCPДа Да SQL_COPT_SS_COLUMN_ENCRYPTIONДа No SQL_COPT_SS_CONCAT_NULLДа Да SQL_COPT_SS_ENCRYPTДа Да SQL_COPT_SS_FAILOVER_PARTNERДа Да SQL_COPT_SS_FAILOVER_PARTNER_SPNДа Да SQL_COPT_SS_INTEGRATED_SECURITYДа Да SQL_COPT_SS_MARS_ENABLEDДа Да SQL_COPT_SS_OLDPWDДа Да SQL_COPT_SS_SERVER_SPNДа Да SQL_COPT_SS_TRUST_SERVER_CERTIFICATEДа Да SSPROP_AUTH_REPL_SERVER_NAMEДа Да SQL_COPT_SS_TNIRДа No Драйвер может сбросить и настроить следующие ключевые слова и атрибуты соединения без выполнения дополнительного вызова по сети. Драйвер сбрасывает эти параметры, чтобы убедиться, что соединение не содержит неверные сведения.
Эти ключевые слова соединения не учитываются, когда диспетчер драйверов пытается сопоставить соединение с соединением в пуле. (Даже изменив один из этих параметров, вы сможете повторно использовать существующее подключение, так как драйвер сбрасывает значения параметров по мере необходимости.) Эти атрибуты можно сбросить на стороне клиента, не создавая дополнительный сетевой вызов.
Ключевое слово Драйвер ODBC 13+ Драйвер ODBC 11 AutoTranslateДа Да DescriptionДа Да MultisubnetFailoverДа Да QueryLog_OnДа Да QueryLogFileДа Да QueryLogTimeДа Да RegionalДа Да StatsLog_OnДа Да StatsLogFileДа Да При изменении одного из следующих атрибутов соединения можно повторно использовать существующее соединения. Драйвер выполнит сброс значения по мере необходимости. Драйвер может сбросить эти атрибуты на стороне клиента без выполнения дополнительного вызова по сети.
Атрибут Драйвер ODBC 13+ Драйвер ODBC 11 Все атрибуты инструкции Да Да SQL_ATTR_AUTOCOMMITДа Да SQL_ATTR_CONNECTION_TIMEOUTДа Да SQL_ATTR_DISCONNECT_BEHAVIOR SQL_ATTR_CONNECTION_TIMEOUTДа Да SQL_ATTR_LOGIN_TIMEOUTДа Да SQL_ATTR_ODBC_CURSORSДа Да SQL_COPT_SS_PERF_DATAДа Да SQL_COPT_SS_PERF_DATA_LOGДа Да SQL_COPT_SS_PERF_DATA_LOG_NOWДа Да SQL_COPT_SS_PERF_QUERYДа Да SQL_COPT_SS_PERF_QUERY_INTERVALДа Да SQL_COPT_SS_PERF_QUERY_LOGДа Да SQL_COPT_SS_PRESERVE_CURSORSДа Да SQL_COPT_SS_TRANSLATEДа Да SQL_COPT_SS_USER_DATAДа Да SQL_COPT_SS_WARN_ON_CP_ERRORДа Да