Agrupación de conexiones dependientes del controlador ODBC para SQL Server
ODBC Driver for SQL Server es compatible con la agrupación de conexiones dependientes del controlador. En este artículo se describen las mejoras realizadas en la característica de agrupación de conexiones dependientes de Microsoft ODBC Driver for SQL Serveren Windows:
Con independencia de las propiedades de conexión, las conexiones que usan
SQLDriverConnect
pertenecen a un grupo independiente de las conexiones que usanSQLConnect
.Al usar la autenticación de SQL Server y la agrupación de conexiones dependientes del controlador, el controlador no utiliza el contexto de seguridad del usuario de Windows para el subproceso actual con el fin de separar las conexiones del grupo. Es decir, si las conexiones contienen parámetros equivalentes en escenarios de suplantación de Windows con autenticación de SQL Server y usan las mismas credenciales de autenticación de SQL Server para conectarse al back-end, otros usuarios de Windows podrían utilizar el mismo grupo de conexiones. Al usar la autenticación de Windows y la agrupación de conexiones dependientes del controlador, el controlador utiliza el contexto de seguridad del usuario de Windows en el subproceso actual con el fin de separar las conexiones del grupo. Es decir, en escenarios de suplantación de Windows, varios usuarios de Windows no comparten las conexiones aunque usen los mismos parámetros.
Al usar Microsoft Entra ID (anteriormente llamado Azure Active Directory) y la agrupación de conexiones dependiente del controlador, el controlador también usa el valor de autenticación para determinar la pertenencia al grupo de conexiones.
La característica de agrupación de conexiones dependientes del controlador impide que se devuelva una conexión incorrecta del grupo.
Asimismo, reconoce los atributos de conexión específicos del controlador. Por lo tanto, si una conexión usa
SQL_COPT_SS_APPLICATION_INTENT
establecido en solo lectura, dicha conexión obtendrá su propio grupo de conexiones.Al establecer el atributo
SQL_COPT_SS_ACCESS_TOKEN
, una conexión se agrupa por separado.
Si uno de los siguientes id. de atributo de conexión o palabras clave de cadena de conexión difiere entre la cadena de conexión y la cadena de conexión agrupada, el controlador utilizará una conexión agrupada. Sin embargo, se obtendrá un mejor rendimiento si coinciden todos los id. del atributo de conexión o palabras clave de cadena de conexión (Para que coincida con una conexión del grupo, el controlador restablece el atributo). El rendimiento se degrada porque para el restablecimiento de los parámetros siguientes se necesita una llamada de red adicional.
Si dos o más de los siguientes atributos o palabras clave de conexión son diferentes, no se usa una conexión agrupada.
Language
QuoteId
SQL_ATTR_TXN_ISOLATION
SQL_COPT_SS_QUOTED_IDENT
Si hay una diferencia en cualquiera de las siguientes palabras clave de conexión entre la cadena de conexión y una cadena de conexión agrupada, no se usa una conexión agrupada.
Palabra clave ODBC Driver 13+ ODBC Driver 11 Address
Sí Sí AnsiNPW
Sí Sí App
Sí Sí ApplicationIntent
Sí Sí Authentication
Sí No ColumnEncryption
Sí No Database
Sí Sí Encrypt
Sí Sí Failover_Partner
Sí Sí FailoverPartnerSPN
Sí Sí MARS_Connection
Sí Sí Network
Sí Sí PWD
Sí Sí Server
Sí Sí ServerSPN
Sí Sí TransparentNetworkIPResolution
Sí Sí Trusted_Connection
Sí Sí TrustServerCertificate
Sí Sí UID
Sí Sí WSID
Sí Sí Si hay una diferencia en cualquiera de los siguientes atributos de conexión entre la cadena de conexión y una cadena de conexión agrupada, no se usa una conexión agrupada.
Atributo ODBC Driver 13+ ODBC Driver 11 SQL_ATTR_CURRENT_CATALOG
Sí Sí SQL_ATTR_PACKET_SIZE
Sí Sí SQL_COPT_SS_ANSI_NPW
Sí Sí SQL_COPT_SS_ACCESS_TOKEN
Sí No SQL_COPT_SS_AUTHENTICATION
Sí No SQL_COPT_SS_ATTACHDBFILENAME
Sí Sí SQL_COPT_SS_BCP
Sí Sí SQL_COPT_SS_COLUMN_ENCRYPTION
Sí No SQL_COPT_SS_CONCAT_NULL
Sí Sí SQL_COPT_SS_ENCRYPT
Sí Sí SQL_COPT_SS_FAILOVER_PARTNER
Sí Sí SQL_COPT_SS_FAILOVER_PARTNER_SPN
Sí Sí SQL_COPT_SS_INTEGRATED_SECURITY
Sí Sí SQL_COPT_SS_MARS_ENABLED
Sí Sí SQL_COPT_SS_OLDPWD
Sí Sí SQL_COPT_SS_SERVER_SPN
Sí Sí SQL_COPT_SS_TRUST_SERVER_CERTIFICATE
Sí Sí SSPROP_AUTH_REPL_SERVER_NAME
Sí Sí SQL_COPT_SS_TNIR
Sí No El controlador puede restablecer y ajustar los siguientes atributos y palabras clave de conexión sin realizar una llamada de red adicional. El controlador restablece estos parámetros para garantizar que la conexión no contenga información incorrecta.
Estas palabras clave de conexión no se tienen en cuenta cuando el Administrador de controladores intenta hacer coincidir la conexión con una conexión del grupo. (Incluso si cambia uno de estos parámetros, se puede reutilizar una conexión existente. El controlador restablecerá las opciones, según sea necesario). Estos atributos se pueden restablecer en el lado cliente sin realizar una llamada de red adicional.
Palabra clave ODBC Driver 13+ ODBC Driver 11 AutoTranslate
Sí Sí Description
Sí Sí MultisubnetFailover
Sí Sí QueryLog_On
Sí Sí QueryLogFile
Sí Sí QueryLogTime
Sí Sí Regional
Sí Sí StatsLog_On
Sí Sí StatsLogFile
Sí Sí Si cambia uno de los siguientes atributos de conexión, se puede reutilizar una conexión existente. El controlador restablecerá el valor según proceda. El controlador puede restablecer estos atributos en el cliente sin realizar una llamada de red adicional.
Atributo ODBC Driver 13+ ODBC Driver 11 Todos los atributos de instrucción Sí Sí SQL_ATTR_AUTOCOMMIT
Sí Sí SQL_ATTR_CONNECTION_TIMEOUT
Sí Sí SQL_ATTR_DISCONNECT_BEHAVIOR SQL_ATTR_CONNECTION_TIMEOUT
Sí Sí SQL_ATTR_LOGIN_TIMEOUT
Sí Sí SQL_ATTR_ODBC_CURSORS
Sí Sí SQL_COPT_SS_PERF_DATA
Sí Sí SQL_COPT_SS_PERF_DATA_LOG
Sí Sí SQL_COPT_SS_PERF_DATA_LOG_NOW
Sí Sí SQL_COPT_SS_PERF_QUERY
Sí Sí SQL_COPT_SS_PERF_QUERY_INTERVAL
Sí Sí SQL_COPT_SS_PERF_QUERY_LOG
Sí Sí SQL_COPT_SS_PRESERVE_CURSORS
Sí Sí SQL_COPT_SS_TRANSLATE
Sí Sí SQL_COPT_SS_USER_DATA
Sí Sí SQL_COPT_SS_WARN_ON_CP_ERROR
Sí Sí