Cuando tomamos control de un servidor SQL Server en Flex Services, nosotros como operadores tenemos que sentirnos seguros con lo que estamos asumiendo. Para ello, hacemos un análisis del servidor donde revisamos elementos importantes del servidor como configuración del SQL, planes de mantenimiento, etc. En esta sesión, te enseñaremos lo importante de los diversos elementos básicos que revisamos para asegurarnos que tomamos el control de un servidos SQL Server que no nos va a dar sorpresas.
2. Índice de contenido
Problemas habituales del entorno
Configuración de SQL inadecuada
Mantenimiento inadecuado
3. Problemas habituales del entorno
Service Packs y Cumulative Updates
Ubicación de ficheros y permisos
Licencia adecuada
4. Service Packs y Cumulative Updates
Seguridad ante todo
Nuevas funcionalidades
Primero en pre-producción
5. Ubicación de ficheros y permisos
Dividir archivos en discos diferentes
ROW
LOG
Principio de privilegios mínimos
TempDB
BBDD de sistema
Backups
6. Licencia adecuada
Hardware
SQL
Version
Standard Web
Express (Adv.
Features)
Max CPU
(SQL Server)
2014 4s/16c 4s/16c 1s/4c
2016 4s/24c 4s/16c 1s/4c
2017 4s/24c 4s/16c 1s/4c
Max RAM
(SQL Server)
2014 128GB 64GB 1GB
2016 128GB 64GB 1410 MB (<1,5GB)
2017 128GB 64GB 1410 MB (<1,5GB)
7. Configuración de SQL inadecuada
Cuentas de servicio
Compresión de las copias
Paralelismo y archivos de TempDB
Memoria virtual asignada
Collation generalizada
8. Cuentas de servicio
Cuentas de servicio dedicadas
Deshabilitar ‘sa’
Políticas de seguridad local
Iniciar sesión como servicio
Bloquear páginas en memoria
Realizar mantenimiento en volúmenes
9. Compresión de las copias
Siempre habilitado
Coste de CPU admisible
Ahorro de espacio en disco
10. Paralelismo máximo y archivos de tempDB
Subir poco a poco
Cores físicos. Hyperthreading
Buenas Prácticas de MS:
<8 cores Num cores
>=8 cores 8
Si hay NUMA
<8 NUMA asignados
>=8 8
http://blogs.solidq.com/es/sql-server/calculando-un-grado-de-paralelismo-razonable/
11. Memoria virtual asignada a SQL Server
Máxima posible
Restar un poco para SO
Revisar otros procesos
Antivirus
Integration Serv. o Reporting Serv.
Procesos y apps propias
12. Collation generalizada
Determina el orden de los datos
Problemas con tablas temporales
Problemas con conversiones implícitas
Podría afectar al rendimiento
14. Mantenimiento inadecuado
BBDD con copias desactualizadas
Índices fragmentados y Estadísticas desactualizadas
BBDD sin verificación de estado
Control de históricos y ficheros antiguos
15. Solución de Mantenimiento de Ola Hallengren
Facilidad de configuración
Flexibilidad y compatibilidad
Parámetros ‘inteligentes’’
Actualizaciones continuas
16. Mantenimiento de Copias de seguridad
Selección de BBDD
USER_DATABASES, -Db, -%temp, -
AVAILABILITY_GROUP_DATABASES
Limpieza de .bak antiguos
Soporte Software de terceros
17. Parámetros ‘Smart’ de Copias de seguridad
Adaptar copias DIFF y LOG
Si no hay FULL previo
Basado en tamaños y tiempo (2016 SP2 y 2017)
DIFF
% crecimiento de la BD
LOG
Tamaño (MB) desde última copia
Tiempo (seg)
18. Mantenimiento de Índices y estadísticas
Selección de BBDD
Selección de Índices
%.Schema1.%, Db1.Schema1.%, -
Db1.Schema1.Tbl1
Actualización de estadísticas
Mantener Índices internos
19. Parámetros ‘Smart’ de Índices y estadísticas
Sólo estadísticas modificadas (>= 2012 SP1)
Basado en % fragmentación de índices:
>=1000 páginas
Buenas prácticas
(personalizable)
<5%
>= 5% y < 30%
>= 30%
Varias operaciones según
compatibilidad
Reordenar
Reconstruir online/offline
20. Tareas de consistencia
Selección de BBDD
Varias operaciones
CHECKDB,CHECKALLOC,CHECKCATALOG
CHECKFILEGROUP
CHECKTABLE
21. Limpieza de históricos
Limpieza de elementos propios
BD CommandLog
Ficheros de salida
Limpieza de históricos
Registros de copias de seguridad
Ejecuciones de jobs