Buenas practicas de configuracion sobre SQL Server
-
Upload
solidq -
Category
Technology
-
view
770 -
download
0
Embed Size (px)
Transcript of Buenas practicas de configuracion sobre SQL Server

#SQSummit
Buenas Prácticas
De Configuración
Sobre SQL Server
Luis José Morán Cuenca
Data Platform Architect

EN CUMPLIMIENTO CON LA LEY 15/1999 DE PROTECCIÓN DE DATOS DE CARÁCTER PERSONAL, PONEMOS EN TU CONOCIMIENTO QUE
ESTE EVENTO VA A SER GRABADO· Dichas grabaciones serán utilizadas por SolidQ, bien para uso interno o bien para la creación
de material de marketing con el fin de promocionar nuestra marca.

Buenas Prácticas de Configuración Sobre SQL Server
• Introducción• Seguridad
• Exceso de administradores• Permisos Sobre Cuentas de Servicio
• Administración• Métodos DR• Gestión de Recursos y Planificación• Database Mail
• Rendimiento• CPU• Memoria• Disco• Parametrización SQL Server

Introducción

Seguridad
• ¿Cuantos usuarios hay con rol sysadmin hay en vuestras instancias?
• ¿Porqué se hace esto?• Facilidad de administración• Rápidez• Algunos usuarios/apps necesitan permisos especiales• Los roles fijos de servidor o bbdd son poco flexibles• Problemas de esta práctica
• Concesión de permisos accidental a personas que no deberían tenerlo• Puertas abiertas de seguridad, riesgo evitable
• Cada día hay más usuarios, no se controla quien puede hacer que• Cambios en las instancias insospechados
Exceso de Administradores

Seguridad
Usar Roles de Servidor o de BBDD
Roles con permisos personalizados
Usar grupos de windows
Simplicación de la administración
Rapidez
Añaden un plus de seguridad
Exceso de Administradores \ Soluciones

DemoSeguridad Roles / Grupos Windows

Seguridad
• http://msdn.microsoft.com/es-es/library/ms144228.aspx
Permisos Sobre Cuentas de Servicio

Seguridad
• Todos los servicios con la misma cuenta en todos los servidores
• El usuario es administrador de SQL Server
• El usuario es administrador del dominio
Permisos Sobre Cuentas de Servicio

Seguridad
• Cuentas del Dominio con permisos mínimos
• Cuentas Virtuales
• Cuentas de Servicio Administradas
• Credenciales + Usuarios Proxy + Execute As
• Para Grupos de AO cuentas de domino o administradas en SQL Server 2016
Permisos Sobre Cuentas de Servicio \ Soluciones

Seguridad
• Cuentas Virtuales, son cuentas locales administradas donde la administración de contraseñas no necesaria y pueden tener acceso a la red con una identidad de equipo en un entorno de dominio:
• https://msdn.microsoft.com/en-us/library/ms143504.aspx#VA_Desc
Permisos Sobre Cuentas de Servicio \ Soluciones

Seguridad
• Cuentas de Servicio Administradas, son cuentas de dominio conadministración automática de pwd y administración SPNsimplificada
• SPN (Service Principal Name). Def Microsoft: Un nombre principal deservicio (SPN) es el nombre por el que un cliente identifica de formaunívoca una instancia de un servicio. El servicio de autenticación deKerberos puede utilizar un SPN para autenticar un servicio. Cuando uncliente desea conectarse a un servicio, busca una instancia delservicio, compone un SPN para esa instancia, se conecta al servicio ypresenta el SPN para que lo autentique el servicio
Permisos Sobre Cuentas de Servicio \ Soluciones

DemoSeguridad

Administración
• Backups• Problemas
• BBDDs Sin Backup• Tamaño del Log
• Backup del Log
• Problema: Tiempo máximo caída del negocio• Hay que hacer backups pero quiza no sea la solución• Cluster SQL Server
• Pro: • Failover Automático, aplica a toda la instancia• Tecnología con una eficacia demostrada
• Contras:• ROI• Almacenamiento Compartido
Métodos de DR (Disaster / Recovery )

Administración
• Problema: Tiempo máximo caída del negocio• Replicación:
• Transaccional• Pros:
• Muy escalable• Contras
• Mantenimiento• Trabaja tabla a tabla, para ser solución DR replicar todas tablas• No failover automático
• Log Shipping:• Pros:
• Muy Escalable
• Contras:• No failover automático
Métodos de DR (Disaster / Recovery )

Administración
• Problema: Tiempo máximo caída del negocio• Mirroring:
• Pros:• Failover Automático• No necesitas cluster de windows
• Contras• Trabaja a nivel de bbdd no de instancia• Requiere al menos el doble de espacio de almacenamiento ya que no es compartido
• AO:• Pros:
• FailOver Automático de las bbdds del grupo de disponibilidad• Muy Escalable
• Contras:• Requiere al menos el doble de espacio de almacenamiento ya que no es compartido
Métodos de DR (Disaster / Recovery )

Administración
• Problema procesos concurrentes que compiten por recursos
• Realizar análisis estricto• Incluir todas las tareas (negocio y SQL Server)• Objetivo evitar/minimizar concurrencia de tareas• Identificar permisos de cada proceso• Duraciones estimadas• Dependencias
Gestión de Recursos y Planificación

Administración
• Gestión Recursos y Planificación
• Las operaciones checkdb, backups, defragmentación, estadísticas son operaciones que consumen muchos recursos
• Si alguna de estas tareas se sale de la ventana de mantenimiento hay que considerar realizarla varias veces a la semana definiéndolas para unas determinadas bases de datos, tablas etc
Gestión de Recursos y Planificación

AdministraciónGestión de Recursos y Planificación

DemoPlanificación y Gestión de Recursos

Administración
• Problema, no se gestionan los fallos de los procesos un proceso puede estar fallando mucho tiempo y no nos enteramos
• Database Mail nos soluciona esto de manera rápida
Database Mail

Administración
• Hay que:• Crear un operador• Configurar el agente• Reiniciar el agente
Database Mail

DemoDatabase Mail

Rendimiento
• Modo de Energia High Performance• Para activar el turbo de los core• También depende de:
• Configuración BIOS• Si es una VM depende del Host
CPU
Muy útil en:• Bucles• Cursores
Motivos:
• Son procesos dependen frecuencia• No depende número cores

Rendimiento
• http://ark.intel.com/products/47923/Intel-Xeon-Processor-E5640-12M-Cache-2_66-GHz-5_86-GTs-Intel-QPI
• http://blogs.msdn.com/b/cindygross/archive/2011/03/09/power-saving-options-on-sql-server.aspx
CPU

Rendimiento
• Problema, excesivos planes paralelos provoca:• Mayor consumo de CPU necesario para operaciones simples• Genera mas esperas por CXPackets
CPU
500 500 500 8000 500
> Nº Planes Paralelos � > Posibilidad Esperas por CXPackets
Soluciones:• Actualizar estadísticas• Ajustar el umbral de coste de paralelismo• Reducir el nº de cores de los planes
paralelos

Rendimiento
• Umbral de costo de paralelismo.• Valor a partir del cual SQL Server considera usar un plan paralelo para
esa operación• El valor por defecto actual de SQL Server es bajo para los servidores y
la carga actual
• Ajuste del grado de paralelismo• Parametro que indica el numero de cores máximo que SQL Server
utilizará para una consulta que utilize paralelismo
CPU

Rendimiento
• Grado de Paralelismo, MS propone una regla base (después ajustar empiricamente)
• For servers that have eight or less processors, use the following configuration where N equals the number of processors: max degree of parallelism = 0 to N.
• For servers that use more than eight processors, use the following configuration: max degree of parallelism = 8
• For servers that have NUMA configured, max degree of parallelism should not exceed the number of CPUs that are assigned to each NUMA node with the max value capped to 8. This will increase the likelyhood of all parallel threads of a query to be located within a NUMA Node and avoid costly remote node data look ups
• For servers that have hyper-threading enabled, the max degree of parallelism value should not exceed the number of physical processors
CPU

Rendimiento
• Migraciones la velocidad de los nuevos procesadores• + Cores / - Frecuencia
CPU

Rendimiento
• Memoria Máxima de SQL Server• Memoria SQL Server = Total SO – (Memoria exclusiva para el SO + Memoria para otros
programas (Antivirus, herramientas) � No competir por la memoria
• Tener en cuenta memoria máxima de:• SO
• Versión de SQL Server
• Importante:• Como mínimo un 25% respecto del volumen total de datos
• Con SQL Server 2014 se puede usar buffer manager � SSDs
Memoria

Rendimiento
• Compresión de backups• Aplicarla siempre que el consumo de CPU lo permita• Adecuado para backups grandes• Especialmente en migraciones
Disco
Compresión
•+ Gasto CPU• - Escrituras
< Tamaño Fichero
•Disco + Lento•Escribe -
Proceso +
Rápido

Rendimiento
• Fragmentación• Interna• Externa• Influye elección planes
• Reconstruir / Reorganizar
VS
Parametrización de SQL Server

Rendimiento
• AutoIncrementos
Parametrización de SQL Server

Rendimiento
• Estadísticas
VS
Parametrización de SQL Server

Rendimiento
• Multiples Collations En BBDDs y Tablas• Problema
• Conversiones• No es posible la utilización de:
• Indices• Estadísticas• Debido a la conversión
Parametrización de SQL Server

DemoRendimiento

También puedes preguntar tus dudas con el hashtag #SQSummit en Twitter
ADAPTIVE BI FRAMEWORK
Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de analítica de negocio basada en nuestra experiencia:•Diseña antes de construir
•Automatización de procesos por ETL
•Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción de procesos específicos y plataformas de analítica de negocio
•Muy fácil de mantener
SOLIDQ FLEX SERVICES
Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas sean estables. Desde una solución sencilla de monitorización, hasta un servicio de atención de incidencias 24/7, mantenimiento proactivo, resolución de problemas y línea de soporte.
Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas importantes.