ODBC Driver for SQL Server 中可感知驅動程式的連接共用

下載 ODBC 驅動程式

ODBC Driver for SQL Server支援驅動程式感知連線共用。 本文說明 Microsoft ODBC Driver for SQL Server on Windows 中驅動程式感知連線共用的增強功能:

  • 不論連接屬性為何,使用 SQLDriverConnect 的連接都會進入不同的集區,與使用 的連接不同 SQLConnect
  • 使用SQL Server驗證和驅動程式感知連線共用時,驅動程式不會使用目前線程的 Windows 使用者安全性內容來分隔集區中的連線。 也就是說,如果連線在具有 SQL Server 驗證的 Windows 模擬案例參數中相等,而且他們使用相同的SQL Server驗證認證來連線到後端,則不同的 Windows 使用者可能會使用相同的連線集區。 在使用 Windows 驗證和可感知驅動程式的連接共用時,驅動程式會使用目前 Windows 使用者的安全性內容來區隔集區中的連接。 也就是說,對於 Windows 模擬案例,即使連接使用相同的參數,不同的 Windows 使用者也不會共用連線。
  • 使用 Azure Active Directory 和可感知驅動程式的連線共用時,驅動程式也會使用驗證值來判斷連線集區中的成員資格。
  • 可感知驅動程式的連接共用可防止從集區傳回錯誤的連接。
  • 可感知驅動程式的連接共用可辨識驅動程式的特定連接屬性。 因此,若連線使用設為唯讀的 SQL_COPT_SS_APPLICATION_INTENT,該連線會取得自己的連線集區。
  • 設定 SQL_COPT_SS_ACCESS_TOKEN 屬性會使連線以個別方式共用

如果在您的連接字串與共用的連接字串之間,有下列其中一個連接屬性識別碼或連接字串關鍵字不相同,驅動程式將會使用共用連接。 不過,如果所有的連接屬性識別碼或連接字串關鍵字皆相符,效能會更好。 (若要比對集區中的連線,驅動程式會重設 attribute.) 效能降低,因為重設下列參數需要額外的網路呼叫。

  • 如果下列兩個或多個連接屬性或連接關鍵字不同,則不會使用集區連線。

    • Language
    • QuoteId
    • SQL_ATTR_TXN_ISOLATION
    • SQL_COPT_SS_QUOTED_IDENT
  • 如果您的連接字串與集區連接字串之間的下列任何連接關鍵字有所差異,則不會使用集區連線。

    關鍵字 ODBC 驅動程式 13+ ODBC Driver 11
    Address Yes
    AnsiNPW Yes Yes
    App Yes Yes
    ApplicationIntent Yes Yes
    Authentication
    ColumnEncryption
    Database Yes
    Encrypt Yes Yes
    Failover_Partner Yes Yes
    FailoverPartnerSPN Yes Yes
    MARS_Connection Yes Yes
    Network Yes Yes
    PWD Yes Yes
    Server Yes Yes
    ServerSPN Yes Yes
    TransparentNetworkIPResolution Yes Yes
    Trusted_Connection Yes Yes
    TrustServerCertificate Yes Yes
    UID Yes Yes
    WSID Yes Yes
  • 如果您的連接字串與集區連接字串之間的下列任何連線屬性有所差異,則不會使用集區連線。

    屬性 ODBC 驅動程式 13+ ODBC Driver 11
    SQL_ATTR_CURRENT_CATALOG Yes
    SQL_ATTR_PACKET_SIZE Yes Yes
    SQL_COPT_SS_ANSI_NPW Yes Yes
    SQL_COPT_SS_ACCESS_TOKEN
    SQL_COPT_SS_AUTHENTICATION
    SQL_COPT_SS_ATTACHDBFILENAME Yes
    SQL_COPT_SS_BCP Yes Yes
    SQL_COPT_SS_COLUMN_ENCRYPTION
    SQL_COPT_SS_CONCAT_NULL Yes
    SQL_COPT_SS_ENCRYPT Yes Yes
    SQL_COPT_SS_FAILOVER_PARTNER Yes Yes
    SQL_COPT_SS_FAILOVER_PARTNER_SPN Yes Yes
    SQL_COPT_SS_INTEGRATED_SECURITY Yes Yes
    SQL_COPT_SS_MARS_ENABLED Yes Yes
    SQL_COPT_SS_OLDPWD Yes Yes
    SQL_COPT_SS_SERVER_SPN Yes Yes
    SQL_COPT_SS_TRUST_SERVER_CERTIFICATE Yes Yes
    SSPROP_AUTH_REPL_SERVER_NAME Yes Yes
    SQL_COPT_SS_TNIR
  • 驅動程式可以重設及調整下列連接關鍵字和屬性,而不需要進行額外的網路呼叫。 驅動程式會重設這些參數,以確保連線未包含不正確的資訊。

    當驅動程式管理員嘗試與集區中的連線相符時,不會考慮這些連線關鍵字。 (即使您變更其中一個參數,也可以重複使用現有的連線。驅動程式會視需要重設選項。) 這些屬性可以在用戶端重設,而不需進行額外的網路呼叫。

    關鍵字 ODBC 驅動程式 13+ ODBC Driver 11
    AutoTranslate Yes
    Description Yes Yes
    MultisubnetFailover Yes Yes
    QueryLog_On Yes Yes
    QueryLogFile Yes Yes
    QueryLogTime Yes Yes
    Regional Yes Yes
    StatsLog_On Yes Yes
    StatsLogFile Yes

    如果您變更下列其中一個連接屬性,現有的連接仍可重複使用。 驅動程式會視需要重設此值。 驅動程式可在用戶端重設這些屬性,而不需要進行額外的網路呼叫。

    屬性 ODBC 驅動程式 13+ ODBC Driver 11
    所有陳述式屬性 Yes
    SQL_ATTR_AUTOCOMMIT Yes Yes
    SQL_ATTR_CONNECTION_TIMEOUT Yes Yes
    SQL_ATTR_DISCONNECT_BEHAVIOR SQL_ATTR_CONNECTION_TIMEOUT Yes Yes
    SQL_ATTR_LOGIN_TIMEOUT Yes Yes
    SQL_ATTR_ODBC_CURSORS Yes Yes
    SQL_COPT_SS_PERF_DATA Yes Yes
    SQL_COPT_SS_PERF_DATA_LOG Yes Yes
    SQL_COPT_SS_PERF_DATA_LOG_NOW Yes Yes
    SQL_COPT_SS_PERF_QUERY Yes Yes
    SQL_COPT_SS_PERF_QUERY_INTERVAL Yes Yes
    SQL_COPT_SS_PERF_QUERY_LOG Yes Yes
    SQL_COPT_SS_PRESERVE_CURSORS Yes Yes
    SQL_COPT_SS_TRANSLATE Yes Yes
    SQL_COPT_SS_USER_DATA Yes Yes
    SQL_COPT_SS_WARN_ON_CP_ERROR Yes

另請參閱

Windows 上的 Microsoft ODBC Driver for SQL Server