Espaço livre do log de transações (\%)

Microsoft.SQLServer.2016.Database.TransactionLogSpaceFreePercentMonitor (UnitMonitor)

Monitor de Espaço Livre (\%) no Log de Transações para Bancos de Dados 2016. Observação: Esse monitor está desabilitado por padrão. Use substituições para permitir, quando necessário.

Knowledge Base article:

Resumo

Monitor de Espaço Livre (%) no Log de Transações para Bancos de Dados SQL 2016

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:

Use o seguinte link para exibir os dados de desempenho:

Dados de Desempenho do Banco de Dados

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 sem crescimento automático, o espaço livre será a diferença entre o tamanho inicial de um arquivo e o espaço utilizado.

Crescimento Automático Habilitado

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 será o mínimo da diferença entre o tamanho máximo e o tamanho do arquivo e o espaço livre restante em disco.

O pouco espaço livre para os arquivos de log 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 o valor de crescimento do arquivo for maior que o valor deixado no disco, e se a diferença entre os tamanhos máximo e atual do arquivo for menor que o valor do crescimento. 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.

Erro

Tamanho Máximo de Arquivo Azure (MB)

O tamanho máximo do arquivo de dados armazenado no Armazenamento BLOB do Azure. O fluxo de trabalho considerará esse valor como a capacidade máxima de armazenamento para cada arquivo.

1.048.576

Habilitado

Habilita ou desabilita o fluxo de trabalho.

Não

Gerar Alertas

Define se o fluxo de trabalho gera um Alerta.

Sim

Intervalo (segundos)

O intervalo de tempo recorrente em segundos no qual executa-se o fluxo de trabalho.

300

Número de amostras

Indica quantas vezes um valor medido deve violar um limite antes do estado ser alterado.

6

Limite

O valor coletado será comparado com esse parâmetro.

10

Tempo Limite (segundos)

Especifica o tempo que o fluxo de trabalho pode funcionar antes de ser fechado e marcado como com falha.

180

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorMicrosoft.SQLServer.2016.Database.DBSpaceMonitor
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.Database.TransactionLogSpaceFreePercent.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: O Espaço Livre do Log de Transações é muito baixo
O Espaço Livre do Log de Transações (\%) do banco de dados "{0}" na instância do SQL "{1}" no computador "{2}" é muito baixo. Consulte a guia de "contexto de alerta" para obter mais detalhes.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Database.TransactionLogSpaceFreePercentMonitor" Accessibility="Public" Enabled="false" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="Microsoft.SQLServer.2016.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.Database.TransactionLogSpaceFreePercent.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.TransactionLogSpaceFreePercentMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</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>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>180</TimeoutSeconds>
<Threshold>10</Threshold>
<ConnectionString>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/PerformanceCounterObject$:TransactionLog</ObjectName>
<CounterName>Log Free Space (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBLogFreeSpacePercent']$</Value>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>