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) 및 드라이버 인식 연결 풀링을 사용하는 경우 드라이버는 인증 값도 사용하여 연결 풀의 멤버십을 결정합니다.

  • 드라이버 인식 연결 풀링을 사용하면 잘못된 연결이 풀에서 반환되지 않습니다.

  • 드라이버 인식 연결 풀링이 드라이버별 연결 특성을 인식합니다. 따라서 연결에서 읽기 전용으로 설정된 SQL_COPT_SS_APPLICATION_INTENT를 사용하는 경우 해당 연결은 자체 연결 풀을 가져옵니다.

  • SQL_COPT_SS_ACCESS_TOKEN 특성을 설정하면 연결이 별도로 풀링됩니다.

다음 연결 특성 ID 또는 연결 문자열 키워드 중 하나가 사용자의 연결 문자열과 풀링된 연결 문자열 간에 다른 경우 드라이버는 풀링된 연결을 사용합니다. 그러나 모든 연결 특성 ID 또는 연결 문자열 키워드가 일치하는 경우에는 성능이 향상됩니다. (풀에서 연결을 일치시키기 위해 드라이버는 특성을 재설정합니다.) 다음 매개 변수를 다시 설정하려면 추가 네트워크 호출이 필요하므로 성능이 저하됩니다.

  • 다음 연결 특성 또는 연결 키워드 중 두 개 이상이 다른 경우 풀링된 연결이 사용되지 않습니다.

    • 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
  • 연결 문자열 풀링된 연결 문자열 간에 다음 연결 특성에 차이가 있는 경우 풀링된 연결이 사용되지 않습니다.

    attribute 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

    다음 연결 특성 중 하나를 변경하는 경우 기존 연결을 재사용할 수 있습니다. 필요에 따라 드라이버가 값을 재설정합니다. 드라이버는 별도의 네트워크 호출 없이 클라이언트에서 이러한 특성을 초기화할 수 있습니다.

    attribute 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

참고 항목

Windows 기반 Microsoft ODBC Driver for SQL Server