ADC

Referencia de DataStream

Esta referencia describe los protocolos MySQL y TDS, las versiones de las bases de datos, los métodos de autenticación y los conjuntos de caracteres compatibles con la función DataStream. También describe cómo el Citrix ADC gestiona las solicitudes de transacciones y las consultas especiales que modifican el estado de una conexión.

También puede configurar el dispositivo Citrix ADC para generar mensajes de registro de auditoría para la función DataStream.

Versiones de bases de datos, protocolos y métodos de autenticación compatibles

  Base de datos MySQL Base de datos MS SQL
versiones de bases de datos Base de datos MySQL versiones 4.1, 5.0, 5.1, 5.4, 5.5, 5.6 Bases de datos MS SQL versiones 70, 2000, 2000SP1, 2005, 2008, 2008R2, 2012, 2014 (compatibilidad con autenticación Kerberos). Puede configurar el servidor MS SQL de fondo con TDS 7.4 en 2016, 2017, 2019 y 2022 configurando el parámetro NetScaler. -mssqlServerVersion 2014 El grupo de disponibilidad Always On solo es compatible con las versiones 2012 y 2014 de MS SQL.
Protocolos Protocolo MySQL versión 10. Para obtener información sobre el protocolo MySQL, consulte Protocolo cliente/servidor de MySQL. Protocolo Tabular Data Stream (TDS), versión 7.1 a 7.4. Para obtener información sobre el protocolo TDS, consulte Protocolo de flujo de datos tabular
Métodos de autenticación Se admite la autenticación nativa de MySQL. Se admiten la autenticación de SQL Server y la autenticación de Windows (Kerberos/NTLM).

Conjuntos de caracteres

La función DataStream solo admite el juego de caracteres UTF-8.

El juego de caracteres utilizado por el cliente al enviar una solicitud puede ser diferente del conjunto de caracteres utilizado en las respuestas del servidor de base de datos. Aunque el parámetro del conjunto de caracteres se establece durante el establecimiento de la conexión, se puede cambiar en cualquier momento mediante el envío de una consulta SQL. El juego de caracteres está asociado a una conexión y, por lo tanto, las solicitudes de conexiones con un conjunto de caracteres no se pueden multiplexar en una conexión con un juego de caracteres diferente.

El dispositivo Citrix ADC analiza las consultas enviadas por el cliente y las respuestas enviadas por el servidor de bases de datos.

El conjunto de caracteres asociado a una conexión se puede cambiar después del apretón de manos inicial mediante las dos consultas siguientes:

SET NAMES <charset> COLLATION <collation>

SET CHARACTER SET <charset>
<!--NeedCopy-->

Transacciones

En MySQL, las transacciones se identifican mediante el parámetro de conexión AUTOCOMMIT o las consultas BEGIN:COMMIT. El parámetro AUTOCOMMIT se puede configurar durante el apretón de manos inicial o después de establecer la conexión mediante la consulta SET AUTOCOMMIT.

El dispositivo Citrix ADC analiza explícitamente cada consulta para determinar el principio y el final de una transacción.

En el protocolo MySQL, la respuesta contiene dos indicadores para indicar si la conexión es una transacción: los indicadores TRANSACTION y AUTOCOMMIT.

Si la conexión es una transacción, se establece el indicador TRANSACTION. O bien, si el modo AutoCommit está DESACTIVADO, el indicador AUTOCOMMIT no está configurado. El dispositivo ADC analiza la respuesta y, si el indicador TRANSACTION está configurado o el indicador AUTOCOMMIT no está configurado, no multiplexará la conexión. Cuando estas condiciones ya no se dan, el dispositivo ADC inicia la multiplexación de la conexión.

Nota

Las transacciones también son compatibles con MS SQL.

Consultas especiales

Hay consultas especiales, como SET y PREPARE, que modifican el estado de la conexión y pueden interrumpir el cambio de solicitudes y, por lo tanto, estas consultas deben gestionarse de forma diferente.

Al recibir una solicitud con consultas especiales, el dispositivo Citrix ADC envía una respuesta correcta al cliente y, además, almacena la solicitud en la conexión.

Cuando se recibe una consulta no especial, como INSERT y SELECT, junto con una consulta almacenada, el dispositivo ADC busca la conexión del lado del servidor en la que la consulta almacenada ya se envió al servidor de base de datos. Si no existen tales conexiones, el dispositivo ADC crea una conexión y envía primero la consulta almacenada y, a continuación, la solicitud con la consulta no especial.

En las consultas especiales SET, USE db e INIT_DB, el dispositivo modifica un campo de la conexión del lado del servidor correspondiente a la consulta especial. Esta modificación permite una mejor reutilización de la conexión del lado del servidor.

Solo se almacenan 16 consultas en cada conexión.

La siguiente es una lista de las consultas especiales para las que el dispositivo ADC tiene un comportamiento modificado.

  • Consulta SET

    Las consultas SET SQL definen las variables que están asociadas a la conexión. Estas consultas también se utilizan para definir variables globales, pero por ahora, el dispositivo ADC no puede diferenciar entre variables locales y globales. Para esta consulta, el dispositivo ADC utiliza el mecanismo de “almacenar y reenviar”.

  • USE <db> consulta

    Mediante esta consulta, el usuario puede cambiar la base de datos asociada a una conexión. En este caso, el dispositivo ADC analiza el valor <db> enviado y modifica un campo en la conexión del lado del servidor para reflejar la nueva base de datos que se va a utilizar.

  • comando INIT_DB

    Mediante esta consulta, el usuario puede cambiar la base de datos asociada a una conexión. En este caso, el dispositivo ADC analiza el valor <init_db> enviado y modifica un campo en la conexión del lado del servidor para reflejar la nueva base de datos que se va a utilizar.

  • COM_PREPARE

    El dispositivo ADC detiene la conmutación de solicitudes al recibir este comando.

  • PREPARE la consulta

    Esta consulta se utiliza para crear sentencias preparadas que se asocian a una conexión. Para esta consulta, el dispositivo ADC utiliza el mecanismo de “almacenar y reenviar”.

Soporte de mensajes de registro de auditoría

Ahora puede configurar el dispositivo Citrix ADC para generar mensajes de registro de auditoría para la función DataStream. Los mensajes del registro de auditoría se generan cuando se establecen, se cierran o se interrumpen las conexiones del lado del cliente y del servidor. Las categorías de mensajes que puede registrar y ver son ERROR e INFO. Los mensajes de error para las conexiones del lado del cliente comienzan por “CS” y los mensajes de error para las conexiones del lado del servidor comienzan por “SS”.” Se proporciona información adicional cuando es necesario. Por ejemplo, los mensajes de registro para conexiones cerradas (CS_CONN_CLOSED) solo incluyen el ID de conexión. Sin embargo, los mensajes de registro de las conexiones establecidas (CS_CONN_ESTD) incluyen información como el nombre de usuario, el nombre de la base de datos y la dirección IP del cliente, además del identificador de conexión.

Referencia de DataStream