Este documento resume las recomendaciones para configurar el hardware y software de SQL Server de forma óptima. Se destacan factores como la memoria RAM, discos, configuración de servicios, cuentas de usuario, ubicación de archivos, configuración de TempDB, collation y planes de mantenimiento como reindexación e integridad de datos.
2. SOLIDQ SUMMIT MADRID 2017
Gánale la partida a tu SQL Server
Configuración ideal para que todo vaya bien desde el principio
- CPU
- Memoria RAM
- Discos
- Configurar
como servicio
- Políticas locales
de seguridad
- Ubicación de
archivos.
- TempDB
- Collation
- Planes de
mantenimiento
SQL Server
Hardware Windows
3. SOLIDQ SUMMIT MADRID 2017
Hardware
• Frecuencia
• Número de Cores
• Licenciamiento
• Uso especial en
• Queries Ad hoc
• Scans en SELECT
(paralelismo)
4. SOLIDQ SUMMIT MADRID 2017
Frecuencia y número de cores
Actualmente máquinas con más cores y
menos frecuencia
Afecta a procesos con bucles y paralelismo
Alto rendimiento para evitar bajadas de
frecuencia
5. SOLIDQ SUMMIT MADRID 2017
Versiones de SQL y SO
SQL Server 2016
Version Max CPU
Express 1 socket o 4 cores
Web 4 socket o 16 cores
Standard 4 socket o 24 cores
Enterprise Máx SO
Referencia:
SQL: https://msdn.microsoft.com/es-es/library/cc645993(v=sql.130).aspx (link)
Licenciamiento SQL
7. SOLIDQ SUMMIT MADRID 2017
Uso Especial
• Cálculos
• Compresión
• Queries Ad hoc
• Scans en SELECT
8. SOLIDQ SUMMIT MADRID 2017
Hardware
• Características
• Influyen versiones
de SQL y SO
• Configurar limitación
• Contador PLE
9. SOLIDQ SUMMIT MADRID 2017
Características
• SQL Server trabaja con datos en memoria
• Mayor cantidad posible
• Evita lecturas en disco. Anteponer este factor
a cualquier otro
• Tecnología en memoria
10. SOLIDQ SUMMIT MADRID 2017
Versiones de SQL y SO
• Tamaño máximo según versión de SO y SQL.
Windows Standard Version
Windows Server 2008 R2 32 GB
Windows Server 2012 4 TB
Windows Server 2016 24 TB
SQL Standard Version
SQL Server 2008 R2 64 GB
SQL Server 2012 64 GB
SQL Server 2016 128 GB
Referencia:
SQL: https://msdn.microsoft.com/es-es/library/cc645993(v=sql.130).aspx (link)
SO: https://msdn.microsoft.com/es-
es/library/windows/desktop/aa366778(v=vs.85).aspx#physical_memory_limits_windows_server_2016 (link)
11. SOLIDQ SUMMIT MADRID 2017
Configurar limitación
• Por defecto utiliza el máximo
posible.
• Limitar según SO y
herramientas simultáneas al
servicio de SQL.
12. SOLIDQ SUMMIT MADRID 2017
Page Life Expectancy
• Valores por cada
4GB de memoria
de SQL.
• <300s Bad
• 300s Critical
• 300-600
Warning
• >600 Good
13. SOLIDQ SUMMIT MADRID 2017
Hardware
• Tipo habituales de
RAID
• Formateo a 64KBs
• Archivos en discos
15. SOLIDQ SUMMIT MADRID 2017
Formateo a 64 KBs
¿Por qué?
Pruebas de rendimiento
(Archivos distintos, tamaños,
operaciones secuenciales y aleatorias)
16. SOLIDQ SUMMIT MADRID 2017
Archivos en discos
Discos Independientes
• Un disco por cada tipo de
archivo (BBDD de sistema,
datos BBDD usuario, log
BBDD usuario, TempDB,
Backup…)
Discos para TempDB
• Mayor inversión
• Preferible discos locales
• Más rápidos (SSD / Intel
Optane)
• Unidad D: Azure
17. SOLIDQ SUMMIT MADRID 2017
Azure - Unidad D: para TempDB
USE MASTER
GO
ALTER DATABASE tempdb MODIFY FILE (NAME= tempdev,
FILENAME= 'D:SQLTempDBtempdb.mdf')
GO
ALTER DATABASE tempdb MODIFY FILE (name = templog,
filename = 'D:SQLTempDBtemplog.ldf')
GO
$SQLService="SQL Server (MSSQLSERVER)"
$SQLAgentService="SQL Server Agent (MSSQLSERVER)"
$tempfolder="D:SQLTempDB"
if (!(test-path -path $tempfolder)) {
New-Item -ItemType directory -Path $tempfolder
}
Start-Service $SQLService
Start-Service $SQLAgentService
1. Crear carpeta en unidad D: (Ej: D:SQLTempDB)
2. Mover ficheros TempDB a carpeta
3. Cambiar inicio del servicio a Manual
4. Crear script PowerShell y guardar ps1
5. Ejecutar Set-ExecutionPolicy RemoteSigned
6. Crear tarea programada que ejecute ps1 cuando
arranca la máquina. (Permisos elevados)
20. SOLIDQ SUMMIT MADRID 2017
LOG ON AS A SERVICE
Permite iniciar servicios a usuarios básico evitando usar
administradores
LOCK PAGES IN MEMORY
Evita que la memoria asignada por un servicio sea paginada
a disco. Que nadie la pueda reclamar
PERFORM VOLUME MAINTENANCE TASKS
Reserva espacio en disco de forma más rápida. No requiere
llenar el espacio reservado de 0.
Políticas de Seguridad Local
22. SOLIDQ SUMMIT MADRID 2017
SQL
Server
• Cuentas de usuario
• Ubicación de
archivos.
• TempDB
• Collation
• Planes de
mantenimiento
23. SOLIDQ SUMMIT MADRID 2017
Cuentas de usuario
• Cuentas con permisos mínimos (usuario básico)
• Necesario Log on as a service
• Cuenta por servicio
• Motor DOMsqlsrv
• Agente DOMsqlagent
• SSIS DOMsqlssis
• SSAS DOMsqlssas
• SSRS DOMsqlssrs
25. SOLIDQ SUMMIT MADRID 2017
TempDB
Usos
• Tablas temporales
• Spilling por Sort/Hash
• Reindexación
Criterios
• Usar los mejores discos disponibles
• Buen tamaño y auto-crecimiento
• Si es posible RAID 10
• Discos locales en Cluster
Novedad SQL
Server 2016
26. SOLIDQ SUMMIT MADRID 2017
TempDB - Configuración
Criterio para número de ficheros
• Si tiene menos de 8 cores, número de ficheros igual al número de cores.
• Si tiene más de 8 cores, 8 ficheros. Si notas contención de memoria añade 4 ficheros más
• En casos extremos o emergencias, número de cores igual al número de ficheros
Referencia: Summit SQL Server 2011, ponencia de Bob Ward (Principal Architect Escalation Engineer, Microsoft)
http://www.sqlpass.org/summit/2011/Speakers/CallForSpeakers/SessionDetail.aspx?sid=1869
• OJO! Considerar el número de CPUs sin hyperthreading
Un i7 con 4 cores; si tuviera hyperthreading.
Sólo cuentan los 4 cores físicos.
• Los ficheros deben tener el mismo tamaño.
27. SOLIDQ SUMMIT MADRID 2017
Collation
Característica importante que no suele tenerse en
consideración
Homogéneo a nivel de instancia, base de datos, campos de tablas.
Afecta al rendimiento
Problemas
• Migraciones
• Uso de tablas temporales
• Compleja solución
29. SOLIDQ SUMMIT MADRID 2017
Planes de mantenimiento
• Imprescindibles en cualquier sistema
• Base para un buen rendimiento, seguridad e integridad.
• Realizar en periodos de baja actividad
• Reindexación
• Actualización de estadísticas
• Backup
• Integridad (CheckDB)
30. SOLIDQ SUMMIT MADRID 2017
Reindexación
Actualización de estadísticas
• Afecta directamente al rendimiento
• Más periódico posible
indexstats.avg_fragmentation_in_percent > 30
ALTER INDEX [IndexName] ON [SchemaName].[TableName] REBUILD {WITH (ONLINE=ON)} ;
indexstats.avg_fragmentation_in_percent <= 30
ALTER INDEX [IndexName] ON [SchemaName].[TableName] REORGANIZE;
SELECT OBJECT_NAME(i.OBJECT_ID) AS TableName, OBJECT_NAME(i.OBJECT_ID) AS TableName, i.name AS
IndexName,i.name AS IndexName, indexstats.avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') indexstats
INNER JOIN sys.indexes i ON i.OBJECT_ID = indexstats.OBJECT_ID AND i.index_id =
indexstats.index_id
31. SOLIDQ SUMMIT MADRID 2017
Backup
• Buena política de backup
• Restauración más rápida
ante situación de
emergencia
• Influyen factores
• Tipo de negocio
• Exigencia del cliente
• Limitación en almacenamiento
• Ventana de tiempo disponible
Tipos
• Completo
• Diferencial
• Log de Transacciones
32. SOLIDQ SUMMIT MADRID 2017
CheckDB
• Comprueba la consistencia de los datos
• Afecta al rendimiento de discos
• Tarea de mantenimiento pesada
¿Conocer último CheckDB?
DBCC DBINFO ('DBNAME')
WITH TABLERESULTS
dbi_dbccLastKnownGood
33. SOLIDQ SUMMIT MADRID 2017
• +500h de trabajo
• Clases 100% ONLINE en directo
• Proyecto fin de máster real para tu empresa
• Tutorías bajo demanda
• Laboratorios virtuales guiados paso a paso
• Invitación 1 día al SolidQ Summit Madrid
• Te ayudamos en tus proyectos de BI & Analytics
CONTENIDOS
• BI & Analytics Overview
• Data Warehousing y Modelo Dimensional
• Obtención de datos. ETL e Integración
• Soluciones Analíticas
• Análisis y Visualización de la información
• Proyecto Fin de Máster
“Con la evolución de los tiempos, es imprescindible estudiar todo lo que tiene que ver con real-time,
analytics y el mundo de los datos. Por lo que, consideré que tener formación en BI me podría ser muy
útil y me venía muy bien personalmente, porque nuestro sistema trata con muchísimas transacciones y
muchísima carga y ‘el relacional’ ya se nos estaba quedando pequeño.
El máster nos dio una visión bastante general de cómo implementar un proyecto y gestionarlo tú mismo
y cómo ver las soluciones de distintas maneras. Aunque tenía mis dudas de hacer una formación online,
la valoración es bastante positiva, las clases son muy interactivas y al final salió todo muy bien.”
Adolfo Gabriel
VP Software
Development, Payvision
Máster en BI & Analytics
Alumni
¡Plazas Limitadas!
Más información:
http://www.solidq.com/es/masterbi
CONTENIDOS
• BI & Analytics Overview
• Data Warehousing y Modelo Dimensional
• Obtención de datos. ETL e Integración
• Soluciones Analíticas
• Análisis y Visualización de la información
• Proyecto Fin de Máster