¿Qué es HDBSQL?
HDBSQL es la herramienta cliente ejecutable por línea de comandos que permite al administrador realizar consultas SQL y comandos de DB directamente desde el sistema operativo (Linux/Windows). Es el componente fundamental para el scripting y la automatización de tareas en SAP HANA.
Instalación y Acceso
HDBSQL se instala automáticamente como parte del SAP HANA Client. En sistemas donde
reside la base de datos, lo encontrarás en el home del usuario administrador
(<sid>adm).
# Verificar versión de HDBSQL hdbsql -version
Modos de Conexión: SystemDB vs Tenant DB
En entornos de Multitenant Database Containers (MDC), que es el estándar desde HANA 2.0, es vital diferenciar a qué base de datos nos estamos conectando mediante el puerto:
- SystemDB (Puerto 3xx13): Se utiliza para tareas de administración global, como crear/borrar otros Tenants, gestionar licencias o configurar el High Availability.
- Tenant DB (Puerto 3xx15): Es la base de datos donde residen los datos de la
aplicación (ERP, S/4HANA, BW). El puerto 3xx15 redirige automáticamente al servicio
indexserverdel tenant.
Métodos de Logueo en HDBSQL
Existen tres formas principales de autenticarse, dependiendo de si buscamos seguridad, rapidez o interactividad:
1. Uso de hdbuserstore (Recomendado para Scripts)
Es la forma más segura ya que encapsula el Host, Puerto, Usuario y Contraseña en una clave cifrada.
# Crear clave para el Tenant DB de la instancia 00 hdbuserstore SET TENANT_KEY masterhost:30015 SYSTEM MyPassword # Conectar usando la clave hdbsql -U TENANT_KEY
2. Parámetros de Línea de Comandos (Explícito)
Útil para pruebas rápidas, aunque deja la contraseña visible en el historial del shell (a menos que se
use -p sin valor para que la pida).
# Conexión al SystemDB especificando puerto hdbsql -n localhost:30013 -u SYSTEM -p MyPassword
3. Modo Interactivo
Si ejecutas hdbsql sin comandos, entrarás en el prompt interactivo donde podrás ejecutar
queries una a una. Para salir, usa \q.
Sintaxis y Comandos Comunes
| Parámetro | Acción |
|---|---|
-n <host>:<port> |
Especificar servidor y puerto (ej: hana01:30013 para SystemDB). |
-u <user> -p <pwd> |
Conexión manual (No recomendado para scripts). |
-i <file> |
Importar y ejecutar un archivo .sql completo. |
-o <file> |
Exportar los resultados de la consulta a un archivo. |
-a |
Modo Autocommit (por defecto activo). |
Casos de Uso Prácticos
- Reset de Contraseña: Recuperar acceso al usuario SYSTEM cuando está bloqueado.
- Monitoreo Externo: Consultar vistas como
M_SERVICE_STATUSmediante scripts de CRON. - Gestión de Backups: Ejecutar sentencias
BACKUP DATA...programadas.