Microsoft SQL Server
Este tema explica cómo configurar la conectividad con un destino de Microsoft SQL Server mediante el conector de destino Microsoft SQL Server.
El destino Microsoft SQL Server se puede utilizar como plataforma de datos de destino en una canalización de datos o en una tarea de replicación. En una canalización de datos, se pueden realizar varias operaciones ELT en la plataforma de destino, incluido el almacenamiento de datos, la transformación de datos, la creación de mercados de datos y el registro de datos. Una tarea de replicación, por otro lado, implica la replicación de datos directamente desde un sistema de origen a un sistema de destino con capacidades de transformación básicas, pero sin soporte para operaciones ELT. Antes de poder conectarse a un destino de Microsoft SQL Server, es necesario configurar los Requisitos previos de usuario en la base de datos. Si va a conectarse a Microsoft SQL Server a través de Pasarela Data Movement, también necesita instalar el controlador como se describe en Configuración del driver o controlador.
Para obtener información sobre las limitaciones y consideraciones al usar el conector Destino de Snowflake, vea Limitaciones y consideraciones.
Configurar las propiedades de la conexión
Para configurar el conector, haga lo siguiente:
-
En Conexiones, haga clic en Crear conexión.
-
Seleccione el conector de destino Microsoft SQL Server y luego proporcione la siguiente configuración:
Pasarela de datos de movimiento de datos
Microsoft SQL Server se puede utilizar como destino en una canalización de datos o en una tarea de replicación. Si bien es posible que Pasarela Data Movement requiera una pasarela de movimiento de datos para acceder al destino de Microsoft SQL Server en una canalización (dependiendo de si se puede acceder directamente a la base de datos desde Qlik Cloud), siempre es necesaria cuando se utiliza un destino de Microsoft SQL Server en una tarea de replicación.
Usar un destino de Microsoft SQL Server en una canalización de datos
Pasarela de datos
Solo se requiere una Pasarela Data Movement si la base de datos de destino no está accesible desde Qlik Cloud y solo se puede acceder a ella mediante un vínculo privado (por ejemplo, si está ubicada localmente detrás de un firewall o en una nube privada virtual). En tal caso, seleccione la Pasarela Data Movement a través de la cual desea acceder a la base de datos de destino.
En función del caso de uso que precise, será la misma Pasarela Data Movement implementada para transferir los datos desde la fuente de datos u otra distinta.
Para obtener información sobre casos de uso de Pasarela Data Movement, consulte ¿Cuándo es obligatorio Pasarela Data Movement? y Casos de uso habituales.
Si es posible acceder directamente a la base de datos de destino desde Qlik Cloud, seleccione Ninguno.
Usar un destino de Microsoft SQL Server en una tarea de replicación
Pasarela de datos: Seleccione la Pasarela Data Movement que se utilizará para probar la conexión al destino de Microsoft SQL Server. Esta debería ser la misma pasarela que se utilizó para acceder a la fuente de datos.
Requiere Pasarela Data Movement 2023.5.10 o posterior.
Destino de datos
-
Proveedor de servicios en la nube: elija uno de los siguientes según corresponda:
- Ninguno (local)
- Amazon RDS
- Google Cloud
- Microsoft Azure (admite tanto una instancia administrada de Microsoft Azure como una base de datos de Microsoft Azure)
-
Servidor: el nombre del host o la dirección IP del equipo en el que está instalada la base de datos de Microsoft SQL Server.
Nota informativaPara anular el puerto predeterminado, agregue el puerto al nombre del servidor, separado por una coma. Por ejemplo, si el nombre del servidor es
myserver.company.local
y el puerto es3333
, entonces el nombre del servidor debería ser:myserver.company.local,3333
Propiedades de la cuenta
Nombre de usuario y Contraseña: el nombre de usuario y la contraseña de un usuario autorizado para acceder a la base de datos Microsoft SQL Server.
Propiedades de la base de datos
-
Nombre de la base de datos: hay dos métodos que puede utilizar para especificar una base de datos:
- Método 1 - Seleccionarlo de una lista: Este método requiere crear el usuario en la base de datos maestra. Haga clic en Cargar bases de datos y seleccione una base de datos.
- Método 2 - Manualmente: seleccione Insertar el nombre de la base de datos manualmente e indique el nombre de la base de datos.
- Cifrado (certificado de servidor de confianza): Selecciónelo para cifrar la comunicación entre Qlik Cloud y el servidor de la base de datos. Cuando esté seleccionado, se confiará en el certificado del servidor de forma automática.
- Nombre de host en certificado: Para confiar en el certificado del servidor solo si este nombre de host coincide con el valor especificado en este campo, escriba el nombre de host del certificado del host.
Propiedades internas
Las propiedades internas son para casos de uso especiales y, por lo tanto, no se exponen en el cuadro de diálogo. Solo deberá usarlas si se lo indica el Soporte de Qlik.
Haga uso de los botones y a la derecha de los campos para agregar o eliminar propiedades según sea necesario.
Nombre
El nombre que mostrará la conexión.
Requisitos previos
Requisitos previos de usuario
- El usuario especificado en la configuración del conector debe tener al menos el rol de usuario
db_owner
en la base de datos de Microsoft SQL Server de destino. - Para poder seleccionar una base de datos (haciendo clic en Cargar bases de datos en el cuadro de diálogo del conector), el usuario especificado en la configuración del conector debe haberse creado en la base de datos maestra.
Configuración del driver o controlador
Solo se requiere un controlador si accede a la base de datos a través de Pasarela Data Movement. Vea Pasarela Data Movement más arriba para obtener información sobre los casos de uso cuando se requiere Pasarela Data Movement.
Puede instalar el driver usando la utilidad de instalación del driver (recomendado) o manualmente. La instalación manual solo debe intentarse en el improbable caso de que encuentre un problema con la utilidad de instalación del driver.
Uso de la utilidad de instalación del driver para instalar el driver/controlador
Esta sección describe cómo instalar el driver necesario. El proceso implica ejecutar un script que descargará, instalará y configurará automáticamente el driver requerido. También puede ejecutar secuencias de script para actualizar y desinstalar el driver según sea necesario.
Preparar la instalación
-
Asegúrese de que Python 3.6 o posterior esté instalado en el servidor de la pasarela de Data Movement.
Python viene preinstalado en la mayoría de las distribuciones de Linux. Puede verificar qué versión de Python está instalada en su sistema ejecutando el siguiente comando:
python3 --version
Instalar el paquete de visualización driver
Para descargar e instalar el driver:
-
Detenga el servicio Data Movement gateway:
sudo systemctl stop repagent
-
Opcionalmente, confirme que el servicio se ha detenido:
sudo systemctl status repagent
El estado debería ser el siguiente:
Active: inactive (dead) since <timestamp> ago
-
En la máquina de la puerta de enlace de Data Movement, cambie el directorio de trabajo a:
opt/qlik/gateway/movement/drivers/bin
-
Ejecute el siguiente comando:
Sintaxis:
./install sqlserver
Si no logra descargar el driver (debido a restricciones de acceso o problemas técnicos), aparecerá un mensaje indicándole dónde puede descargar el driver y dónde copiarlo en la máquina de la puerta de enlace de Data Movement. Una vez hecho esto, ejecute nuevamente el comando install sqlserver.
De lo contrario, se mostrará el EULA del driver.
-
Puede realizar una de las acciones siguientes:
- Pulse [Intro] repetidamente para desplazarse por el EULA.
- Pulse la barra espaciadora repetidamente para desplazarse rápidamente por el EULA.
- Pulse q para salir del texto de la licencia y ver las opciones de aceptación del EULA.
-
Puede realizar una de las acciones siguientes:
- Escriba "y" y pulse [Intro] para aceptar el EULA y comenzar la instalación.
- Escriba "n" y pulse [Intro] para rechazar el EULA y salir de la instalación.
-
Escriba "v" y pulse [Intro] para ver el EULA de nuevo.
-
Espere a que termine la instalación (indicado mediante la palabra "Completado") y luego inicie el servicio de Data Movement gateway:
sudo systemctl start repagent
-
Opcionalmente, confirme que el servicio se ha iniciado:
sudo systemctl status repagent
El estado debería ser el siguiente:
Active: active (running) since <timestamp> ago
Se instalará el driver.
Actualizar el driver
Ejecute el comando de actualización si desea desinstalar versiones anteriores del driver antes de instalar el driver provisto.
Para descargar y actualizar el driver:
-
Detenga el servicio Data Movement gateway:
sudo systemctl stop repagent
-
Opcionalmente, confirme que el servicio se ha detenido:
sudo systemctl status repagent
El estado debería ser el siguiente:
Active: inactive (dead) since <timestamp> ago
-
En la máquina de la puerta de enlace de Data Movement, cambie el directorio de trabajo a:
opt/qlik/gateway/movement/drivers/bin
-
Ejecute el siguiente comando:
Sintaxis:
./update sqlserver
Si no logra descargar el driver (debido a restricciones de acceso o problemas técnicos), aparecerá un mensaje indicándole dónde puede descargar el driver y dónde copiarlo en la máquina de la puerta de enlace de Data Movement. Una vez hecho esto, ejecute nuevamente el comando update sqlserver.
De lo contrario, se mostrará el EULA del driver.
-
Puede realizar una de las acciones siguientes:
- Pulse [Intro] repetidamente para desplazarse por el EULA.
- Pulse la barra espaciadora repetidamente para desplazarse rápidamente por el EULA.
- Pulse q para salir del texto de la licencia y ver las opciones de aceptación del EULA.
-
Puede realizar una de las acciones siguientes:
- Escriba "y" y pulse [Intro] para aceptar el EULA y comenzar la instalación.
- Escriba "n" y pulse [Intro] para rechazar el EULA y salir de la instalación.
- Escriba "v" y pulse [Intro] para ver el EULA desde el principio.
-
Espere a que termine la instalación (indicado mediante la palabra "Completado") y luego inicie el servicio de Data Movement gateway:
sudo systemctl start repagent
-
Opcionalmente, confirme que el servicio se ha iniciado:
sudo systemctl status repagent
El estado debería ser el siguiente:
Active: active (running) since <timestamp> ago
El driver anterior se desinstalará y se instalará el nuevo driver.
Desinstalar el driver
Ejecute el comando de desinstalación si desea desinstalar el driver.
Para desinstalar el driver:
-
Detenga todas las tareas configuradas para utilizar este conector.
-
En la máquina de la pasarela de Data Movement, cambie el directorio de trabajo a:
opt/qlik/gateway/movement/drivers/bin
-
Ejecute el siguiente comando:
Sintaxis:
./uninstall sqlserver
Se desinstalará el driver.
Instalar los controladores manualmente
Solo debe intentar instalar el driver manualmente si la instalación automática del driver no se realizó correctamente.
Cuando utilice Microsoft SQL Server como destino en una canalización de datos, deberá instalar tanto el controlador ODBC como el controlador JDBC. Cuando utilice Microsoft SQL Server como destino en la tarea de replicación, solo necesita instalar el controlador ODBC.
Instalación del controlador ODBC
Una vez que haya instalado Pasarela Data Movement, descargue el controlador msodbcsql<versión>.x86_64.rpm. Encontrará un enlace de descarga directa a la versión compatible en binary-artifacts, en /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Una vez completada la descarga, copie el RPM a la máquina de Pasarela Data Movement.
En el servidor de Data Movement gateway, abra un símbolo del shell y haga lo siguiente:
-
Detenga el servicio Data Movement gateway:
sudo systemctl stop repagent
-
Opcionalmente, confirme que el servicio se ha detenido:
sudo systemctl status repagent
-
Instale el controlador (RPM).
-
Cambie el directorio de trabajo a <product_dir>/bin.
-
Copie la ubicación del controlador en el archivo
site_arep_login.sh
de la siguiente manera:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
Esto agregará el controlador a "LD_LIBRARY_PATH" y actualizará la ubicación del controlador en el archivo site_arep_login.sh .
-
Opcionalmente, confirme que se copió la ubicación del controlador:
cat site_arep_login.sh
-
Inicie el servicio Data Movement gateway:
sudo systemctl start repagent
-
Opcionalmente, confirme que el servicio se ha iniciado:
sudo systemctl status repagent
El estado debería ser el siguiente:
Active: active (running) since <timestamp> ago
-
Data Movement gateway requiere la siguiente biblioteca ODBC: msodbcsql-18.1.so.1.1
Para verificar qué versión de la biblioteca está instalada actualmente, lance el siguiente comando:
ls /opt/microsoft/msodbcsql<version>/lib64/
Si la biblioteca existente tiene un número de versión diferente (por ejemplo, libmsodbcsql-18.0.so.1.1), debe crear un enlace simbólico entre la biblioteca actual y la biblioteca requerida.
Para hacer esto, ejecute los siguientes comandos:
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1donde
existing_library_name
es el nombre de la biblioteca actualmente instalada (por ejemplo, libmsodbcsql-18.0.so.1.1).
El estado debería ser el siguiente:
Active: inactive (dead) since <timestamp> ago
Instalación del controlador JDBC
-
Descargue el archivo mssql-jdbc-<version>.jar. Encontrará un enlace de descarga directa a la versión compatible en binary-artifacts en /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Una vez completada la descarga, copie el archivo JAR a la siguiente carpeta de la máquina de Pasarela Data Movement:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Reinicie el servicio de Pasarela Data Movement ejecutando el comando descrito en Reiniciar el servicio
Limitaciones y consideraciones
Limitaciones y consideraciones cuando se utiliza en una canalización de datos
- Al enviar datos a Microsoft SQL Server en una canalización de datos, no se admiten vistas en vivo. Para obtener más información sobre las vistas en vivo, vea Almacenar conjuntos de datos.
Limitaciones y consideraciones para todas las tareas de datos
Si los siguientes tipos de objetos grandes están vacíos en la base de datos de origen (0 bytes), no estarán vacíos después de la carga completa:
- BLOB se escribirá como 0x0000 (2 bytes)
- TEXT (VARCHAR(max)) se escribirá como 0X00 (1 byte)
-
NTEXT (NVARCHAR(max)) se escribirá como 0x0000 (2 bytes)
Limitaciones y consideraciones solo para las tareas de replicación
- Las columnas LOB de tamaño completo no se admiten en el Modo de aplicación optimizado por lotes. Puede solucionar esta restricción limitando el tamaño de la columna LOB en la configuración de la tarea o cambiando al modo de aplicación Por transacción.
- Cuando están habilitadas las opciones Aplicar lote optimizado y Replicar columnas LOB limitadas (KB), las columnas BLOB del destino se truncarán a un cuarto del tamaño especificado en el campo Limitar tamaño de columna LOB a, mientras que las columnas CLOB se truncarán a la mitad del tamaño especificado.
- Si necesita replicar caracteres emoji de 4 bytes, use una transformación para convertir el tipo de datos de WSTRING(n) a WSTRING (n*2).
Tipos de datos
La información del tipo de datos nativo se conserva y se muestra en la columna Tipo de datos nativo en las vistas de conjuntos de datos. Si la columna no está visible, debe abrir el selector de columnas de la vista del conjunto de datos y seleccionar la columna Tipo de datos nativo.
Tipos de datos de Qlik Cloud | Tipos de datos de Microsoft SQL Server |
---|---|
BOOLEAN |
TINYINT |
BYTES |
VARBINARY(longitud) |
DATE |
DATE |
TIME |
TIME(0) |
DATETIME |
DATETIME2(escala) |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
NUMERIC(p,s) |
REAL4 |
REAL |
REAL8 |
FLOAT |
STRING |
Si la columna es una fecha o una hora: DATETIME2 Si la columna no es una fecha o una hora: VARCHAR(longitud) |
UINT1 |
INT2 |
UINT2 |
INT4 |
UINT4 |
INT8 |
UINT8 |
NUMERIC(20) |
WSTRING |
NVARCHAR(longitud) |
BLOB |
VARBINARY(max) IMAGE |
CLOB |
VARCHAR(max) TEXT |
NCLOB |
NVARCHAR(max) NTEXT |
No se admiten los siguientes tipos de datos de SQL Server. Los datos no se leerán.
-
CURSOR
-
SQL_VARIANT
-
TABLE
Los siguientes tipos de datos se convierten a VARCHAR (MAX):
-
XML
-
GEOGRAPHY
-
GEOMETRY