ODBC Driver for SQL Server 中具驅動程式感知能力的連線集區

下載 ODBC 驅動程式

ODBC Driver for SQL Server 支援驅動程式感知連線集區。 本文說明 Windows 版 Microsoft ODBC Driver for SQL Server 中驅動程式感知連線集區所做的增強功能:

  • 無論其連線屬性為何,使用 SQLDriverConnect 的連線都會進入與使用 SQLConnect 的連線不同的個別集區。

  • 在使用 SQL Server 驗證和驅動程式感知的連線集區時,驅動程式不會使用目前執行緒的 Windows 使用者安全性內容來區分集區中的連線。 也就是說,如果連線對於具有 SQL Server 驗證的 Windows 模擬案例使用了相同的參數,並且使用相同的 SQL Server 驗證認證連線到後端,則不同的 Windows 使用者將可能使用相同的連線集區。 使用 Windows 驗證和驅動程式感知的連線集區時,驅動程式會使用目前 Windows 使用者的安全性內容,將集區中的連線區分開來。 也就是說,在 Windows 模擬案例中,即使連接使用相同的參數,不同的 Windows 使用者也不會共用連接。

  • 使用 Microsoft Entra ID(前身為 Azure Active Directory)和具驅動程式感知能力的連線集區時,驅動程式也會使用 Authentication 值來判斷是否屬於同一連線集區。

  • 可辨識驅動程式狀態的連線集區機制,可防止從集區傳回異常連線。

  • 可識別驅動程式的連線集區會辨識驅動程式專屬的連線屬性。 因此,若連線使用設為唯讀的 SQL_COPT_SS_APPLICATION_INTENT,該連線會取得自己的連線集區。

  • 設定 SQL_COPT_SS_ACCESS_TOKEN 屬性會使連線以個別方式共用

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

  • 如果下列連接屬性或連接關鍵字有其中兩個或更多不相同,則不會使用共用連接。

    • Language
    • QuoteId
    • SQL_ATTR_TXN_ISOLATION
    • SQL_COPT_SS_QUOTED_IDENT
  • 如果在您的連接字串與共用的連接字串之間,有下列任一連接關鍵字不相同,則不會使用共用連接。

    關鍵字 ODBC 驅動程式 13+ ODBC 驅動程式 11
    Address 是 是
    AnsiNPW 是 是
    App 是 是
    ApplicationIntent 是 是
    Authentication 是 無
    ColumnEncryption 是 無
    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 是 無
    SQL_COPT_SS_AUTHENTICATION 是 無
    SQL_COPT_SS_ATTACHDBFILENAME 是 是
    SQL_COPT_SS_BCP 是 是
    SQL_COPT_SS_COLUMN_ENCRYPTION 是 無
    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 是 無
  • 驅動程式可以重設及調整下列連接關鍵字和屬性,而不需要進行額外的網路呼叫。 驅動程式會重設這些參數,以確保連接未包含不正確的資訊。

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

    關鍵字 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 是 是