Monitora a configuração de fechamento automático no banco de dados
Este monitor verifica a configuração Fechamento Automático deste banco de dados. Como este monitor faz parte de um requisito geral de padrões, um alerta será gerado se a configuração não atender ao padrão especificado.
A opção AUTO_CLOSE é útil para bancos de dados desktop porque permite que os arquivos de banco de dados sejam gerenciados como arquivos comuns. Eles podem ser movidos, copiados para fazer backups ou mesmo enviados por email a outros usuários. Entretanto, quando o banco de dados for definido como AUTOCLOSE = ON, uma operação que inicia o desligamento automático do banco de dados limpa o cache de planos da instância do SQL Server. A limpeza do cache de planos gera uma recompilação de todos os planos de execução subsequentes e pode causar uma queda repentina e temporária no desempenho de consultas
O espelhamento do banco de dados requer AUTO_CLOSE OFF.
O fechamento automático só faz sentido quando você tem certeza de que o padrão de uso de aplicativo manterá o banco de dados fechado por períodos relativamente longos. Alguns aplicativos de usuário único e alguns bancos de dados de multilocação podem se beneficiar com AUTO_CLOSE ON. Para os demais usos, em geral, não é aconselhável, a menos que você compreenda o comportamento e os padrões de uso do aplicativo
|
Quando a configuração Fechamento Automático for ON, o banco de dados será desligado corretamente e seus recursos serão liberados após a saída do último usuário.
AUTO_CLOSE {ON | OFF}
Um alerta de aviso será gerado se a opção Fechamento Automático não corresponder à configuração necessária. O monitor é predefinido para alertar quando essa configuração está definida como “ON”.
Este problema pode ser resolvido da seguinte maneira:
Alterando a configuração deste banco de dados para que corresponda ao valor esperado.
Substituindo o valor esperado deste monitor de unidade para este ou todos os bancos de dados.
Como alternativa, se este monitor não for um problema para o banco de dados:
Desabilitando o monitor através de substituições para este ou todos os bancos de dados.
Desabilitando o monitor de configuração agregada de nível superior através de substituições para este ou todos os bancos de dados.
Target | Microsoft.SQLServer.2005.Database | ||
Parent Monitor | Microsoft.SQLServer.2005.Database.AutomaticConfiguration | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2005.DBConfigurationStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2005.Database.Configuration.AutoClose" Accessibility="Public" Enabled="false" Target="SQL2005Core!Microsoft.SQLServer.2005.Database" ParentMonitorID="Microsoft.SQLServer.2005.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2005.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2005.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>