Microsoft SQL Server en SAP

El aliado natural para entornos Microsoft

La Plataforma Microsoft-Native

Microsoft SQL Server es la elección natural para organizaciones con infraestructura Windows/Microsoft consolidada. Su integración con Active Directory, familiaridad para equipos IT Microsoft, y modelo de licenciamiento (a veces más favorable que Oracle) la hacen atractiva para empresas medianas.

Aunque SAP HANA es el futuro, SQL Server sigue siendo plataforma sólida para sistemas ECC/ERP que no planean migrar a S/4HANA a corto plazo.

Always On Availability Groups: HA Moderna

Always On Availability Groups es la respuesta de Microsoft a Oracle RAC. La diferencia clave: en lugar de shared storage, Always On replica bases de datos entre nodos independientes.

Arquitectura

Modos de Sincronización

Failover Automático

Cuando el primario cae, el cluster (WSFC - Windows Server Failover Clustering) detecta la falta de heartbeat y promueve automáticamente un secundario a primario. Tiempo típico: 15-30 segundos.

El listener actualiza automáticamente su DNS para apuntar al nuevo primario. Las aplicaciones SAP reconectan sin necesidad de cambiar configuración.

Administración con Transacciones SAP

DB02: Monitorización de Espacio

Funciona igual que en Oracle. Muestra:

ST04: Performance Analysis

Métricas clave para SQL Server:

DBACOCKPIT: Cockpit Unificado

SAP proporciona DBACOCKPIT como interfaz gráfica para administración SQL Server desde dentro de SAP. Permite:

¿Buscas una chuleta de comandos? Consulta nuestra Consultas SQL Server (Chuleta) con los comandos más útiles para monitorización de sesiones y estado de tempdb.

tempdb: La Base de Datos Crítica

tempdb es una base de datos especial de SQL Server que almacena objetos temporales (tablas temporales, variables de tabla, resultados intermedios de queries). En SAP, su configuración es crítica para performance.

Mejores Prácticas

Monitorización

Verificar uso de tempdb:

SELECT 
    SUM(unallocated_extent_page_count) AS free_pages,
    SUM(user_object_reserved_page_count) AS user_objects
FROM sys.dm_db_file_space_usage;

Índices y Tuning

Índices Columnstore

SQL Server 2016+ soporta Columnstore Indexes que almacenan datos por columna (similar a SAP HANA). En SAP, se pueden agregar a tablas grandes para mejorar queries analíticas sin afectar OLTP.

Ejemplo: Añadir columnstore index a tabla BSEG (documentos contables) para acelerar reportes financieros sin impactar postings.

Index Maintenance

La fragmentación es el enemigo. Crear job de mantenimiento que ejecute semanalmente:

-- Rebuild si fragmentación > 30%
-- Reorganize si fragmentación 10-30%
ALTER INDEX ALL ON [tabla] REBUILD WITH (ONLINE = ON);

Usar ONLINE = ON para evitar bloquear la tabla durante rebuild (Enterprise Edition requerida).

Backups y Recovery

Estrategia Recomendada

Compresión de Backups

SQL Server 2008+ soporta backup compression nativo. Ahorra 50-70% de espacio y reduce I/O:

BACKUP DATABASE [SAP_PROD] 
TO DISK = 'E:\Backups\SAP_PROD.bak'
WITH COMPRESSION, CHECKSUM;

Verificación de Backups

NUNCA confíes en un backup sin verificarlo:

RESTORE VERIFYONLY FROM DISK = 'E:\Backups\SAP_PROD.bak';

Integración con Active Directory

Una ventaja única de SQL Server: autenticación integrada con Windows/AD.

En la práctica, SAP usa cuentas de servicio dedicadas (ej. DOMAIN\sap_service) con permisos específicos, no usuarios finales individuales.

Troubleshooting Común

Problema: "Transaction log full"

Síntoma: Mensajes de error 9002. El sistema se detiene.

Causa: El log no se ha truncado porque:

Solución Inmediata:

BACKUP LOG [SAP_PROD] TO DISK = 'NUL';  -- Trunca el log sin backup real

Solución Permanente: Configurar backups de transaction log cada 15-30 min.

Problema: "Queries lentas tras upgrade"

Causa: Estadísticas desactualizadas o plan cache corrupto tras migración de versión SQL Server.

Solución:

-- Limpiar plan cache
DBCC FREEPROCCACHE;

-- Actualizar estadísticas
EXEC sp_updatestats;

Problema: "Failover automático no funciona"

Diagnóstico:

Preguntas Frecuentes (FAQ)

¿Cómo funciona Always On Availability Groups?

A diferencia de Oracle RAC que usa storage compartido, Always On replica los datos entre nodos independientes, permitiendo failover automático y lectura en secundarios.

¿Por qué es crítica la configuración de tempdb?

tempdb gestiona todos los objetos temporales. Una mala configuración (pocos archivos, disco lento) genera cuellos de botella masivos en el rendimiento de SAP.

¿Cuál es el beneficio del Synchronous Commit?

Garantiza RPO=0 (cero pérdida de datos) al esperar que el secundario confirme la escritura antes de dar el commit al usuario, ideal para alta disponibilidad local.

Páginas relacionadas

Volver a Bases de Datos SAP

Oracle Database

SAP Sybase ASE