SQL Server: Auto_Close y su impacto en la performance

La propiedad Auto_Close es una de las tantas que existen a nivel de configuración de base de datos que se suele dar poca o nada de importancia, motivos?, absoluto desconocimiento de su impacto en la perfomance. Cuando la propiedad Auto_Close está establecida a True, SQL Server cierra los archivos de la base de datos y liberará sus recursos asociados cuando el último usuario cierra su conexión con ella. Esta medida puede conducir a ciertos ahorros en memoria en situaciones de RAM escasa, sin embargo, el siguiente usuario experimentará, al conectarse, las demoras asociadas con la reapertura de la base de datos, es decir el siguiente usuario demorará más en establecer una conexión a la base de datos. Cuidado, he dicho volver establecer un conexión a la base de datos más no al servidor de datos, cuestiones que vienen a ser diferentes. Ejecute lo siguiente para deshabilitar esta opción:

       ALTER DATABASE [MiDbEnProduccion] SET AUTO_CLOSE OFF WITH NO_WAIT

Por lo tanto, se debe evaluar si esto es realmente útil en la configuración de cada base de datos, aunque debo admitir que el ahorro de memoria será insignificante (se libera de 12KB a 20KB), no vale la pena en la mayoría de escenarios configurar este valor en True. Mi recomendación es casi siempre (por no decir siempre) deshabilitar la opción Auto_Close. En realidad se gana muy poco en ahorro de memoria al ajustarlo en True, y se pierde mucho en la performance. Tenga mucho cuidado, aunque la configuración por defecto es False, en el mundo real he podido encontrarme con base de datos ajustada esta propiedad en Auto_Close en True. Sólo he contado de esta propiedad acerca de su impacto en la perfomance mas no de las muchísimas utilidades que podemos explotar, lo cual espero más adelante escribir al respecto, claro si da el tiempo:(. Espero sirva.

Published 5/9/2008 0:55 por Percy Reyes
Archivado en:
Comparte este post:
http://geeks.ms/blogs/ozonicco/archive/2008/09/05/97394.aspx

Comentarios

# re: SQL Server: Auto_Close y su impacto en la performance

Espinete:

Espero que te haya gustato este post tan corto:).

Monday, September 08, 2008 6:56 PM por Percy Reyes

# re: SQL Server: Auto_Close y su impacto en la performance

La verdad es que es bastante importante el aumento de rendimiento.

También apuntar que mientras que en las versiones comerciales de SQL Server la propiedad está establecida por defecto a FALSE, no sucede lo mismo en SQL Server Express, con la consiguiente merma del rendimiento.

Un saludo.

Monday, September 08, 2008 10:36 PM por Max

# re: SQL Server: Auto_Close y su impacto en la performance

Max:

Claro, en la edición Express de SQL Server 2005 esta opción viene configurada en True, algo que no debe ser así. La buena noticia es que en SQL Server 2008 Express Edition esta propiedad ya viene en False por defecto. :)

Saludos,

Tuesday, September 09, 2008 1:05 AM por Percy Reyes