¿Estás experimentando un rendimiento deficiente en tu SQL Server? No te preocupes, probablemente no sea tu culpa. Muchas organizaciones instalan SQL Server utilizando la configuración predeterminada proporcionada por Microsoft, sin tener en cuenta las necesidades específicas de su entorno y carga de trabajo. Si bien estas configuraciones predeterminadas garantizan un rendimiento aceptable en servidores modestos, es posible que no sean suficientes para maximizar el rendimiento en hardware moderno.
En una conversación reciente con una CIO, descubrí que el rendimiento de su SQL Server estaba sufriendo a pesar de tener hardware de última generación y ejecutar SQL Server 2014 Enterprise. El problema se debía a que la instalación se realizó utilizando la configuración predeterminada y sin ninguna configuración posterior a la instalación. Este es un escenario común cuando personas que no son administradores de bases de datos manejan las instalaciones de SQL Server. Si bien no hay nada inherentemente incorrecto en este enfoque, a menudo significa perder mejoras significativas en el rendimiento que se pueden lograr con un esfuerzo mínimo.
Hasta el lanzamiento de SQL Server 2016, el instalador había permanecido en gran medida sin cambios desde la versión 2005. Como resultado, hay varias configuraciones a nivel de instancia que deben ajustarse para adaptarse a su entorno y carga de trabajo específicos. Desafortunadamente, los desarrolladores y los administradores de sistemas que manejan las instalaciones de SQL Server a través de scripts pueden no ser conscientes del impacto que pueden tener configuraciones como “Umbral de costo para paralelismo” u “Optimizar para cargas de trabajo ad hoc” en el rendimiento. De manera similar, las instalaciones realizadas utilizando scripts proporcionados por proveedores de software de terceros a menudo priorizan la seguridad sobre el rendimiento, lo que resulta en configuraciones subóptimas para servidores de alto rendimiento.
Para abordar estos problemas y desbloquear todo el potencial de su SQL Server, aquí hay seis configuraciones clave que recomiendo cambiar en cada instalación:
- Habilitar la inicialización instantánea de archivos: Esta configuración, disponible en el instalador desde 2016, permite una creación y crecimiento más rápidos de archivos de datos, a menos que esté restringida por el equipo de seguridad de la información de su organización.
- Habilitar la compresión de copias de seguridad: Al habilitar la compresión de copias de seguridad, puede reducir significativamente los tiempos de copia de seguridad y los requisitos de almacenamiento. Esta opción se puede encontrar en el cuadro de diálogo Propiedades de la instancia.
- Establecer la memoria máxima del servidor: Asigne una parte de la memoria para el sistema operativo que SQL Server no puede utilizar. Esta configuración también se puede ajustar en las Propiedades de la instancia.
- Aumentar la retención de ERRORLOG: Establezca un valor de retención más alto para el archivo ERRORLOG y cree un trabajo para ciclar el registro de forma regular. Esto se puede configurar utilizando SQL Server Management Studio (SSMS).
- Establecer el umbral de costo para paralelismo: Ajuste esta configuración a un valor mínimo de 25 para evitar la ejecución paralela innecesaria de consultas. Sin embargo, es importante probar y considerar cualquier orientación específica proporcionada por los proveedores de software.
- Configurar TempDB: Optimice el rendimiento de TempDB agregando archivos de datos adicionales y habilitando indicadores de seguimiento para el crecimiento. Puede encontrar más información al respecto en la documentación oficial de Microsoft. A partir de 2016, estas configuraciones se pueden realizar durante el proceso de instalación.
Además de estos cambios, también recomiendo ejecutar un script SQL posterior a la instalación que incluya optimizaciones adicionales adaptadas a las necesidades específicas de cada cliente. Esto garantiza la consistencia en todo el conjunto de servidores SQL y maximiza el rendimiento en función de la inversión en hardware.
Volviendo a la CIO mencionada anteriormente, implementamos algunos de los cambios anteriores en la configuración predeterminada, reiniciamos la instancia de SQL Server y presenciamos una mejora significativa en el rendimiento. Todo esto se logró sin ninguna actualización de hardware o cambios en la versión de SQL Server. Todo el proceso, incluida la línea de base y las pruebas posteriores al cambio, llevó solo unas pocas horas de mi tiempo.
Si no tienes un administrador de bases de datos dedicado y tu SQL Server tiene dificultades para mantenerse al día, vale la pena investigar si una configuración predeterminada deficiente es la causa raíz. Considera traer a un experto para una revisión de salud para identificar cualquier optimización omitida, ya que incluso los mejores administradores de bases de datos pueden pasar por alto ciertos aspectos.
Recuerda, optimizar el rendimiento de SQL Server va más allá de la configuración predeterminada. Haciendo algunos ajustes simples, puedes desbloquear todo el potencial de tu inversión en hardware y asegurarte de que tu SQL Server funcione al máximo.