Supervisa la configuración de cierre automático de la base de datos.
Este monitor comprueba el valor de configuración Cerrar automáticamente de esta base de datos. Debido a que este monitor forma parte de un requisito de estándares globales, se generará una alerta si la configuración no cumple el estándar especificado.
La opción AUTO_CLOSE es útil para las bases de datos de escritorio porque permite administrar los archivos de la base de datos como archivos normales. Se pueden mover, copiar para realizar copias de seguridad e incluso enviar por correo electrónico a otros usuarios. No obstante, cuando la base de datos se establece en AUTOCLOSE = ON, una operación que inicia el cierre automático de la base de datos borra la memoria caché del plan para la instancia de SQL Server. Al borrar la memoria caché del plan, se provoca una recompilación de todos los planes de ejecución posteriores y puede ocasionar una disminución repentina y temporal del rendimiento de las consultas.
La creación de reflejo de la base de datos requiere AUTO_CLOSE OFF.
La opción Cerrar automáticamente solo tiene sentido cuando se está seguro de que el patrón de uso de la aplicación mantendrá cerrada la base de datos durante períodos de tiempo relativamente largos. Algunas aplicaciones de un solo usuario y algunas situaciones de hospedaje de base de datos multiempresa pueden aprovechar AUTO_CLOSE ON. Para todos los demás usos, en general no es buena idea, a menos que realmente se conozca el comportamiento de la aplicación y los patrones de uso.
|
Si la configuración Cerrar automáticamente se establece en ON, la base de datos se cierra sin problemas y se liberan sus recursos después de que haya salido el último usuario.
AUTO_CLOSE {ON | OFF}
Si la opción Cerrar automáticamente no coincide con la configuración necesaria, se generará una alerta de advertencia. De fábrica, este monitor está configurado para generar una alerta cuando este valor de configuración se establezca en “ON”.
Para solucionar este problema puede:
Cambiar el valor de configuración para que esta base de datos coincida con el valor esperado.
Invalidar el valor esperado de este monitor de unidad para esta base de datos específica o para todas las bases de datos.
Por otro lado, si este monitor no constituye un problema para la base de datos:
Deshabilitar el monitor mediante invalidaciones para esta base de datos específica o para todas las bases de datos.
Deshabilitar el monitor de configuración de agregado de nivel superior mediante invalidaciones para esta base de datos específica o para todas las bases de datos.
Target | Microsoft.SQLServer.2008.Database | ||
Parent Monitor | Microsoft.SQLServer.2008.Database.AutomaticConfiguration | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.DBConfigurationStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.Database.Configuration.AutoClose" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="Microsoft.SQLServer.2008.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.Configuration.AutoClose.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConfigurationValueOK" MonitorTypeStateID="ConfigurationValueOK" HealthState="Success"/>
<OperationalState ID="ConfigurationValueNotOK" MonitorTypeStateID="ConfigurationValueNotOK" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime/>
<ConfigValue>AutoClose</ConfigValue>
<ExpectedValue>OFF</ExpectedValue>
<ExcludeOnExpress>true</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>