Opciones de bases de datos en SQL Server

Este post lo he realizado a raíz de encontrarme en los log de SQL Server múltiples inicios de algunas bases de datos del tipo: Starting up database ‘x’.

Sin-título-3

Mi instalación es sobre Windows Server 2008 R2 Enterprise x64 English y un SQL Server 2008 R2 sobre un Failover Clúster (clúster de conmutación por error) de 2 nodos.

Buscando por los blogs me encontré que estos reinicios eran producto de tener activa la opción Auto Close para la base de datos y me dio por investigar el resto de opciones automáticas que podemos encontrar en el apartado opciones del menú propiedades de cada base de datos al hacer clic derecho sobre ella:

Sin-título-1

Sin-título-2

Veamos cada una de estas opciones por separado.

Cerrar automáticamente (Auto Close)

La opción Auto Close no viene activada por defecto (pero en algunas restauraciones procedentes de bases de datos inferiores es posible que se active) y en los entornos de producción es altamente recomendable ponerla a OFF (desactivada o FALSE). Esta opción lo que permite es apagar o poner offline la base de datos si no está en uso y una vez ella recibe alguna petición volver a ponerla online. La opción Auto Close es la responsable de estos múltiples startup en los log.

En otras palabras si es TRUE, la base de datos está cerrada, y sus recursos son liberados cuando no se tiene acceso con una conexión de usuario a la base de datos. Si es FALSE (predeterminado), el servidor mantiene la base de datos en un estado abierto y listo, independientemente de la actividad de los usuarios.

Desde SQL Server 2005 en el sitio de MSDN aparece la siguiente aclaración sobre la propiedad Auto Close:

Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite el uso de esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente utilizan esta función.

Tomado del texto original para la propiedad Auto Close:

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Reducir automáticamente (Auto Shrink)

Esta opción viene desactivada por defecto y es muy recomendable dejarla así. Esta propiedad Auto Shrink especifica si el tamaño de la base de datos se reduce automáticamente cuando aparece una gran cantidad de espacio disponible.

Estadísticas automáticas

Existen 3 opciones como vemos:

  1. Crear estadísticas automáticamente (Auto Create Statistics)
  2. Actualizar estadísticas automáticamente (Auto Update Statistics)
  3. Actualizar estadísticas automática y asincrónicamente (Asynchronous Update Statistics)

En ellas no me voy a centrar mucho porque hay un excelente artículo en castellano que explica muy bien ¿Qué son las estadísticas en SQL Server? y la forma de administrar estas.

Todas estas opciones también pueden ser modificadas a través de una consulta SQL, por ejemplo:

ALTER DATABASE dbName SET AUTO_UPDATE_STATISTICS ON
ALTER DATABASE dbName SET AUTO_UPDATE_STATISTICS_ASYNC ON

Espero que os sea útil.

Comentarios