Simples consejos, SQL Server más rápido

Allá por el año 2011 comencé este blog explicando una de las prácticas más importantes pero menos conocidas en SQL Server. La implementación de los archivos de base de datos. Ese primer artículo se titula… Archivos de Base de Datos. ;)

Todos queremos que nuestro SQL Server sea rápido, verdad? El problema es que se cree que con mejorar la infraestructura física (mas memoria, más CPU, mejores discos) ya tenemos resuelto el caso. Error! Es casi una constante encontrar esto en las empresas que me contratan para resolver sus problemas en SQL Server: Los archivos de bases de datos están mal implementados.

Y es muy simple hacerlo bien!

Lo primero es conocer la situación actual de los archivos de las bases de datos implementadas en un servidor. El siguiente script nos entrega información de las bases de datos, su ubicación física, tamaño actual, espacio libre y configuración de auto-crecimiento (Es para ser ejecutada en SQL Server 2008R2 o mayor).

Para ejecutar correctamente el script, utilizamos el procedimiento almacenado sp_MSforeachdb para que recorra todas las bases de datos del servidor y alojamos la información en una tabla temporal, la cual se consulta al final:

aquí un ejemplo del resultado:

image

Con esta información, estas son las preguntas que debemos hacernos, y los simples consejos a seguir:

  1. Están todas tus bases de datos en el mismo disco?: Necesitas como mínimo tres ubicaciones de disco físicas: una para los archivos de datos, otra para los archivos de log y una para la tempdb.
  2. La base de datos tempdb tiene un solo archivo de datos?: La tempdb debe tener un archivo de datos por cada núcleo disponible para SQL Server, considerando un máximo de 8 archivos. En este caso todos los archivos de datos de la tempdb pueden estar en la misma unidad física, dependiendo que tan grande sea tu BD.
  3. El espacio libre en el archivo de datos en menos del 10% del total del archivo?: Debes configurar suficiente tamaño en los archivos de datos para que haya suficiente espacio libre, de modo que se pueda contener el crecimiento de la base de datos por lo menos para los próximos 6 meses (o un año si hay suficiente espacio en disco). Con esta consulta podrás saber cuándo el espacio libre es menor al 10% y tomar acción.
  4. El espacio de auto-crecimiento es muy pequeño con respecto al tamaño total de la base de datos?: Controla manualmente el tamaño total y espacio libre disponible en los archivos de datos. La configuración de auto-crecimiento debe ser lo suficientemente grande para que no se generen eventos automáticos de este tipo permanentemente. Usar crecimiento en MB, no en porcentaje, y como mínimo configurar 1024MB para archivos de datos y 512MB para archivos de log (NOTA: la configuración por defecto es de 1MB, y hay por allí BDs de varios GB que mantienen esta configuración!).

Por ahora nos quedamos con estos simples pero muy útiles consejos para mejorar la implementación de los archivos físicos de las bases de datos y así mejorar el desempeño general de SQL Server.

CONSEJO EXTRA: repite esta consulta o prográmala para que se ejecute periódicamente. Guárdala en una tabla o cópiala a un Excel añadiendo la fecha. Así tendrás un historial de crecimiento de tus bases de datos y podrás proyectar el crecimiento.

Cualquier duda o apoyo no dudes en contactarnos.

Hasta la próxima.

Deja un comentario

Tu dirección de correo electrónico no será publicada.