O monitor supervisiona o espaço disponível em todos os arquivos de log de transações no banco de dados e na mídia relacionada. O espaço disponível na mídia que hospeda os arquivos de log de transações será incluído apenas como parte do espaço disponível se o crescimento automático for habilitado para, pelo menos, um dos arquivos de log de transações. Esse monitor é um monitor de dependência (rollup).
Note: Este monitor é um monitor de dependência (acúmulo). O estado de integridade desse monitor é determinado pelo melhor estado de qualquer monitor membro. Também revise o artigo da base de dados de conhecimento para monitores de unidade relacionada.
O monitor supervisiona o espaço disponível em todos os arquivos de log de transação no banco de dados e na mídia relacionada. O espaço disponível na mídia que hospeda os arquivos de log será incluído apenas como parte do espaço disponível se o crescimento automático for habilitado para, pelo menos, um dos arquivos. Esse monitor é um monitor de dependência (acúmulo).
Um estado não íntegro é causado pelo pouco espaço livre em todos os arquivos de log. O pouco espaço livre pode ser causado por:
Configurações de arquivo inadequadas (tamanho, tamanho máximo, crescimento automático etc.)
Espaço inadequado na mídia
Falta de backups regulares periódicos
Não truncamento do log
Este monitor agrega o espaço disponível para cada arquivo de log em um banco de dados, dependendo da configuração de cada arquivo:
Sem Crescimento Automático
Para um arquivo não configurado para crescimento automático, o espaço livre será a diferença entre o tamanho de um arquivo e o espaço utilizado (tamanho dos dados armazenados no arquivo).
Crescimento Automático Habilitado
Com o crescimento automático habilitado, o espaço em disco disponível será incluído como parte do espaço livre. Além da diferença entre o tamanho do arquivo e o espaço utilizado, o espaço livre para arquivos com crescimento automático habilitado também inclui o espaço livre na mídia (mas não mais do que a diferença entre o tamanho máximo do arquivo e o tamanho atual do arquivo).
O pouco espaço livre para os arquivos de banco de dados com crescimento automático pode significar que o arquivo está chegando ao limite da unidade lógica de hospedagem. Para arquivos com crescimento automático habilitado e tamanho máximo, a insuficiência de espaço livre também pode significar que o arquivo está chegando ao tamanho máximo especificado para um arquivo.
Os cálculos de espaço livre também levam em consideração que o arquivo poderá não crescer se o valor de crescimento do arquivo (em MB ou %) for maior que o espaço livre na mídia. A mesma lógica é aplicada aos arquivos, que têm seu crescimento limitado pela configuração de tamanho máximo. Nesses casos, o espaço livre disponível restante em disco não será incluído como parte do espaço livre porque não é possível que o arquivo continue a crescer.
Este problema pode ser resolvido de uma das seguintes maneiras:
Aumentando o tamanho alocado dos arquivos de log, caso o crescimento automático esteja desabilitado
Aumentando o valor do tamanho máximo de um arquivo de log, caso o crescimento automático esteja habilitado
Habilitando o crescimento automático de, pelo menos, um arquivo
Movendo arquivos de log para outra unidade com mais espaço livre, caso o espaço de crescimento seja limitado
Executando backups regulares de arquivos de log para modos de recuperação FULL e BULK-LOGGED
Investigue por que o log não está sendo truncado:
Transações ativas abertas de longa execução
Operações de backup de longa execução
Transação replicada aberta por um longo período (Replicação Transacional)
Retardo do espelhamento atrás do servidor principal (Espelhamento do Banco de Dados)
Modificando os limites para monitores de unidade relacioandos para se adequar à carga de trabalho
Alternativamente, se o espaço livre do arquivo de log não for um problema para o banco de dados:
Desabilite este monitor para esse banco de dados específico ou para todos os bancos de dados
Consulte o tópico nos Manuais Online do SQL Server: Arquitetura de arquivos e grupos de arquivos
Nome | Descrição | Valor padrão |
Prioridade do Alerta | Define a Prioridade do Alerta. | Normal |
Severidade do Alerta | Define a Severidade do Alerta. | MatchMonitorHealth |
Habilitado | Habilita ou desabilita o fluxo de trabalho. | Sim |
Gerar Alertas | Define se o fluxo de trabalho gera um Alerta. | Sim |
Target | Microsoft.SQLServer.2014.Database | ||
Parent Monitor | Microsoft.SQLServer.2014.Database.DBLogFileSpaceMonitor | ||
Algorithm | BestOf | ||
Source Monitor | Microsoft.SQLServer.2014.Monitoring.DBLogFileSpaceMonitor | ||
Relationship | Microsoft.SQLServer.2014.DBHostsLogFile | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
|
<DependencyMonitor ID="Microsoft.SQLServer.2014.Database.DBLogFileSpaceMonitorRollUp" Accessibility="Public" Enabled="true" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="Microsoft.SQLServer.2014.Database.DBLogFileSpaceMonitor" Remotable="true" Priority="Normal" RelationshipType="SQL2014Core!Microsoft.SQLServer.2014.DBHostsLogFile" MemberMonitor="Microsoft.SQLServer.2014.Monitoring.DBLogFileSpaceMonitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Database.DBLogFileSpaceMonitorRollUp.AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<Algorithm>BestOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>