Alteração de Porcentagem de Espaço do Banco de Dados

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

Monitora uma mudança significativa do espaço livre do banco de dados por vários períodos de amostra. Observação: esse monitor está desabilitado por padrão. Use substituições para habilitá-lo, quando necessário.

Knowledge Base article:

Resumo

Monitora uma grande alteração no valor do espaço livre do banco de dados acima de um número configurado de períodos de amostra. Uma grande alteração rápida no valor pode indicar um problema.

Causas

Um estado não íntegro é ocasionado por uma grande alteração no espaço livre acima de um número definido de períodos de amostra. Isso pode ser ocasionado 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 em um grupo de arquivos, 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.

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:

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

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

Limite Crítico

O estado do monitor será alterado para Crítico se o valor exceder esse limite. Se estiver entre esse limite e o limite de aviso (inclusive), isso fará com que o monitor fique estado de aviso.

45

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.

900

Número de amostras

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

5

Hora da Sincronização

A hora da sincronização especificada usando um formato de 24 horas. Pode ser omitido.

 

Tempo Limite (segundos)

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

300

Limite de alerta

Limite de aviso. Exceder esse limite resultará na alteração do estado do monitor, pelo menos para um estado de aviso.

25

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorMicrosoft.SQLServer.2016.Database.DBSpaceMonitor
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBPercentageChange
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: Alteração Significativa na Porcentagem do Espaço Total Livre do Banco de Dados
O banco de dados {2} na instância SQL {1} do computador {0} sofreu uma alteração significativa no espaço livre. Consulte a guia “Contexto do Alerta" para obter mais detalhes.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Database.DBSizePercentageChangeMonitor" Accessibility="Public" Enabled="false" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="Microsoft.SQLServer.2016.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBPercentageChange" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.DBSizePercentageChangeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Success"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<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>SQL Database</ObjectName>
<CounterName>DB Available Space Total (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBFreeSpacePercent']$</Value>
<Threshold1>25</Threshold1>
<Threshold2>45</Threshold2>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
</Configuration>
</UnitMonitor>