Controlador MSSQL
Esta documentación explica la implementación del controlador MSSQL y cómo los parámetros de conexión se corresponden con los campos de la interfaz de usuario en la aplicación Gigantic.
Parámetros de Conexión
| Campo UI | Implementación Técnica | Descripción | Requerido | Valor por Defecto |
|---|---|---|---|---|
| Host | server en la configuración de mssql | El nombre de host o dirección IP del servidor MSSQL | Sí | localhost |
| Puerto | port en la configuración de mssql | El número de puerto en el que escucha el servidor MSSQL | Sí | 1433 (de driverPorts) |
| Base de Datos | database en la configuración de mssql | El nombre de la base de datos a la que conectarse | Sí | Ninguno (debe ser especificado) |
| Nombre de Usuario | user en la configuración de mssql | Usuario de base de datos para autenticación | No | Ninguno (cuando se usa autenticación de Windows) |
| Contraseña | password en la configuración de mssql | Contraseña para el usuario de base de datos | No | Ninguno (cuando se usa autenticación de Windows) |
| Esquema | dbSchema en la configuración de gigadb | El esquema a usar para consultas y extracción de metadatos | No | Ninguno (por defecto al esquema del usuario) |
Detalles Técnicos
La implementación del controlador MSSQL utiliza la biblioteca Node.js mssql que internamente usa la biblioteca tedious para conexiones.
Aspectos técnicos clave:
- El agrupamiento de conexiones es soportado a través de la bandera
pooleden la configuración - La autenticación puede ser de tipo SQL Server (usuario/contraseña) o autenticación de Windows
- El controlador utiliza vistas INFORMATION_SCHEMA y tablas del sistema para la extracción de metadatos
- La extracción de esquemas incluye nombres de tablas, información de columnas y tipos de datos
- La generación de DDL utiliza tablas del sistema para crear sentencias CREATE TABLE
- El controlador requiere permisos VIEW DATABASE STATE para acceder a sys.dm_db_partition_stats
- Las operaciones de inserción masiva son soportadas a través del método bulkBatchInsert
- Las relaciones de clave foránea se detectan consultando sys.foreign_keys y tablas relacionadas
- Manejo adecuado de tipos de datos específicos de Microsoft SQL Server (uniqueidentifier, datetime2, etc.)
Cuando el túnel SSH está habilitado, las conexiones se establecen primero a través del túnel antes de conectarse al servidor MSSQL.
Formato de Cadena de Conexión
Las conexiones MSSQL se construyen usando el formato de conexión de tedious:
Para autenticación de Windows, la cadena de conexión omite el User ID y Password:
Opciones de Autenticación
MSSQL soporta varios tipos de autenticación:
| Tipo de Autenticación | Mapeo UI | Descripción |
|---|---|---|
| Ninguna | Sin campos de usuario/contraseña | Usa autenticación de Windows/Integrated |
| Contraseña | Campos de usuario/contraseña | Autenticación estándar de SQL Server |
| Gestor de Contraseñas | Varios campos de gestores de contraseñas | Obtiene credenciales de gestores de contraseñas externos |
Soporte de Túnel SSH
El controlador MSSQL soporta túneles SSH para acceso seguro a bases de datos detrás de firewalls o en redes privadas. Para información detallada sobre la configuración de túneles SSH, por favor consulte la documentación de Túneles SSH.
Endpoints de API Utilizados
Las conexiones MSSQL se utilizan principalmente en:
- Creación de Tap (descubrimiento de fuente de datos)
- Creación de Sink (destino de datos para datos anonimizados)
- Ejecución de Pipeline (extracción y carga de datos)
Dependencia de Controlador Node.js
El controlador MSSQL depende de la biblioteca Node.js mssql:
- Biblioteca: mssql
- Propósito: Conectarse a bases de datos Microsoft SQL Server
- Características: Agrupamiento de conexiones, sentencias preparadas, operaciones masivas, transacciones
Parámetros Personalizados
El controlador MSSQL soporta parámetros personalizados adicionales que pueden especificarse en formato YAML para ajustar finamente el comportamiento de conexión, agrupamiento, configuraciones SSL y otras opciones avanzadas.