Espaço do Arquivo de Log do Banco de Dados (rollup)

Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitorRollUp (DependencyMonitor)

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).

Knowledge Base article:

Resumo

Observação: esse monitor é um monitor (rollup) de dependências. O estado de integridade para este monitor é determinado pelo melhor estado em qualquer monitor membro. Examine também o artigo da base de dados de conhecimento para ver os monitores da 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).

Causas

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:

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.

Resoluções

Este problema pode ser resolvido de uma das seguintes maneiras:

Consulte o tópico nos Manuais Online do SQL Server: Arquitetura de arquivos e grupos de arquivos

Parâmetros Substituíveis

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

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorMicrosoft.SQLServer.2016.Database.DBLogFileSpaceMonitor
AlgorithmBestOf
Source MonitorMicrosoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor
RelationshipMicrosoft.SQLServer.2016.DBHostsLogFile
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: Os arquivos de log estão ficando sem espaço
O banco de dados {0} na instância SQL {1} do computador {2} está ficando sem espaço no arquivo de log. Consulte a seção de conhecimentos para obter mais detalhes.

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitorRollUp" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitor" Remotable="true" Priority="Normal" RelationshipType="SQL2016Core!Microsoft.SQLServer.2016.DBHostsLogFile" MemberMonitor="Microsoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitorRollUp.AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<Algorithm>BestOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>