Espaço livre do grupo de arquivos DB FILESTREAM

Microsoft.SQLServer.2016.Monitoring.DBFileStreamGroupSpaceMonitor (UnitMonitor)

O monitor relata um aviso quando o espaço livre em disco cai abaixo da configuração do Limite de Aviso, expresso como percentual da soma do tamanho dos dados. O monitor relata um alerta crítico quando o espaço livre cai abaixo do Limite Crítico.

Knowledge Base article:

Resumo

O monitor relata um aviso quando o espaço em disco disponível para o contêiner do grupo de arquivos FILESTREAM cai abaixo do valor do Limite de Aviso, expresso como a percentual do total de espaço livre em disco. O monitor relata um alerta crítico quando o espaço livre cai abaixo do Limite Crítico.

A pasta do contêiner de dados do grupo de arquivos FILESTREAM geralmente cresce ao longo do tempo enquanto mais dados são adicionados às tabelas. Portanto, será interessante para os administradores monitorar esse parâmetro para verificar se há espaço restante suficiente no local de armazenamento para a pasta do contêiner.

Causas

Quando o espaço em disco disponível na unidade em que o contêiner de dados FILESTREAM está configurado torna-se muito baixo, algumas falhas podem ocorrer impedindo processamento de dados, atrasando as consultas do usuário ou afetando outros aplicativos que compartilham a mesma alocação do espaço em disco.

Soluções

As resoluções para pouco espaço em disco disponível dependem da causa raiz, que deve ser investigada em cada ocorrência quando esse problema acontecer. A condição pode ser atenuada por qualquer uma das seguintes abordagens possíveis:

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)

Tamanho Máximo de Arquivo Azure (MB)

1.048.576

Limite Crítico

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

10

Habilitado

Habilita ou desabilita o fluxo de trabalho.

Sim

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

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

O estado do monitor será alterado para Aviso se o valor cair abaixo desse limite.

20

Element properties:

TargetMicrosoft.SQLServer.2016.DBFileGroupFd
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBFileStreamGroupSizeMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: o contêiner de dados do grupo de arquivos FILESTREAM do banco de dados está ficando sem espaço
O contêiner de dados do grupo de arquivos DB FILESTREAM para o grupo de arquivos "{0}" no banco de dados "{1}" na instância SQL "{2}" do computador "{3}" está ficando sem espaço. Consulte a seção de conhecimentos para obter mais detalhes.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Monitoring.DBFileStreamGroupSpaceMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFd" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBFileStreamGroupSizeMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Monitoring.DBFileStreamFileGroupSpaceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.FileGroup"]/GroupName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Error"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>SQL DB FileStream FileGroup</ObjectName>
<CounterName>DB FileStrem FileGroup Free Space (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFd"]/GroupID$</DBFileId>
<Value>$Data/Property[@Name='FreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
</Configuration>
</UnitMonitor>