Cómo ejecutar consultas SQL en SAP HANA

Si necesitas ejecutar consultas SQL en SAP HANA, tienes dos opciones principales: usar SAP HANA Studio (interfaz grafica) o hdbsql (linea de comandos). En esta guia te explico ambos metodos paso a paso con ejemplos practicos.


Índice

Ejecutar SQL desde SAP HANA Studio

SAP HANA Studio es la herramienta grafica mas utilizada para administrar bases de datos HANA. Sigue estos pasos:

  1. Accede a SAP HANA Studio e inicia sesion con tus credenciales
  2. Abre SQL Console desde el menu o con clic derecho sobre tu sistema
  3. Escribe tu consulta SQL en el editor
  4. Ejecuta con F8 o el boton "Execute"
  5. Revisa los resultados en el panel inferior

Si no tienes acceso a HANA Studio, puedes instalarlo o usar la alternativa por linea de comandos que veremos a continuacion.


Ejecutar SQL desde hdbsql (linea de comandos)

hdbsql es el cliente de linea de comandos de SAP HANA. Es esencial cuando no tienes acceso a la interfaz grafica o necesitas automatizar tareas.

Conectar a SAP HANA con hdbsql

Sintaxis basica de conexion:

hdbsql -n <servidor>:<puerto> -u <usuario> -p <password>

Ejemplo real conectando al servidor hanadb en el puerto 30015:

hdbsql -n hanadb:30015 -u SYSTEM -p MiPassword123

Ejecutar una consulta directamente

Puedes ejecutar SQL sin entrar al modo interactivo usando el parametro -x:

hdbsql -n hanadb:30015 -u SYSTEM -p MiPassword123 "SELECT * FROM DUMMY"

Ejecutar un script SQL desde archivo

hdbsql -n hanadb:30015 -u SYSTEM -p MiPassword123 -I script.sql

Ejemplos de consultas SQL utiles en SAP HANA

Ver usuarios bloqueados

SELECT USER_NAME, USER_DEACTIVATED, DEACTIVATION_TIME 
FROM USERS 
WHERE USER_DEACTIVATED = 'TRUE';

Ver espacio usado por tablas

SELECT SCHEMA_NAME, TABLE_NAME, 
       ROUND(MEMORY_SIZE_IN_TOTAL/1024/1024, 2) AS SIZE_MB
FROM M_CS_TABLES
ORDER BY MEMORY_SIZE_IN_TOTAL DESC
FETCH FIRST 20 ROWS ONLY;

Ver conexiones activas

SELECT CONNECTION_ID, USER_NAME, CLIENT_HOST, CONNECTION_STATUS
FROM M_CONNECTIONS
WHERE CONNECTION_STATUS = 'RUNNING';

Ver version de SAP HANA

SELECT VERSION FROM M_DATABASE;

Ver uso de memoria

SELECT HOST, 
       ROUND(USED_PHYSICAL_MEMORY/1024/1024/1024, 2) AS USED_GB,
       ROUND(FREE_PHYSICAL_MEMORY/1024/1024/1024, 2) AS FREE_GB
FROM M_HOST_RESOURCE_UTILIZATION;

Parametros utiles de hdbsql

ParametroDescripcion
-nServidor y puerto (servidor:puerto)
-uUsuario
-pPassword
-dBase de datos (tenant)
-IEjecutar script desde archivo
-oGuardar resultado en archivo
-cSeparador de columnas (default: ,)
-jAlinear columnas para mejor lectura

Consejos para ejecutar SQL en HANA

  • Usa EXPLAIN PLAN antes de ejecutar consultas pesadas para analizar el rendimiento
  • Limita los resultados con FETCH FIRST N ROWS ONLY para evitar sobrecargar el sistema
  • Consulta las vistas M_* para informacion de monitorizacion del sistema
  • Usa schemas para organizar tus objetos de base de datos
  • Revisa los permisos antes de ejecutar consultas en tablas de sistema

Preguntas frecuentes

Como me conecto a SAP HANA desde linea de comandos?

Usa el comando hdbsql con los parametros de conexion: hdbsql -n servidor:puerto -u usuario -p password. El puerto por defecto suele ser 30015 para el tenant SYSTEMDB o 3XX15 donde XX es el numero de instancia.

Cual es la diferencia entre SAP HANA Studio y hdbsql?

SAP HANA Studio es una interfaz grafica basada en Eclipse que permite administrar la base de datos visualmente. hdbsql es el cliente de linea de comandos, ideal para scripts, automatizacion y cuando no hay acceso a interfaz grafica.

Como ejecuto un archivo SQL en SAP HANA?

Con hdbsql puedes ejecutar un script SQL desde archivo usando el parametro -I: hdbsql -n servidor:puerto -u usuario -p password -I script.sql. El archivo debe contener sentencias SQL validas.

Que puerto usa SAP HANA para conexiones SQL?

SAP HANA usa el puerto 3XX15 donde XX es el numero de instancia. Por ejemplo, para la instancia 00 seria 30015, para la instancia 01 seria 30115. El SYSTEMDB siempre usa 3XX13.

Como veo las tablas disponibles en SAP HANA?

Puedes consultar la vista TABLES del schema SYS: SELECT SCHEMA_NAME, TABLE_NAME FROM TABLES WHERE SCHEMA_NAME = 'TU_SCHEMA'. Para ver todas las tablas usa SELECT * FROM TABLES.


Contenido relacionado

Mira lo que te tenemos preparado!!!!
Subir