Spazio disponibile nel filegroup FILESTREAM di database

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

Il monitoraggio restituisce un avviso quando lo spazio disponibile scende sotto l'impostazione della soglia di avviso, espresso come percentuale della somma delle dimensioni dei dati. Il monitoraggio restituisce un avviso critico quando lo spazio disponibile scende sotto la soglia critica.

Knowledge Base article:

Riepilogo

Il monitoraggio restituisce un avviso quando lo spazio disponibile su disco per il contenitore del filegroup FILESTREAM scende sotto il valore della soglia di avviso, espresso come percentuale della quantità totale di spazio disponibile su disco. Il monitoraggio restituisce un avviso critico quando lo spazio disponibile scende sotto la soglia critica.

Le dimensioni della cartella dei contenitori di dati del filegroup FILESTREAM aumentano in genere nel tempo in seguito all'aggiunta di dati nelle tabelle. Di conseguenza, gli amministratori dovranno monitorare questo parametro per garantire che vi sia sempre spazio sufficiente nella posizione di archiviazione della cartella dei contenitori.

Cause

Quando lo spazio disponibile su disco nell'unità in cui è configurato il contenitore di dati FILESTREAM diventa troppo basso, possono verificarsi alcuni errori impedendo la corretta elaborazione dei dati, ritardando le query dell'utente o influendo sulle altre applicazioni che condividono la stessa allocazione dello spazio su disco.

Soluzioni

Le risoluzioni per lo spazio insufficiente disponibile su disco dipendono dalle cause radice che devono essere investigate caso per caso quando si verifica tale problema. È possibile provare a risolvere tale condizione adottando uno degli approcci potenziali seguenti:

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Priorità avviso

Definisce la priorità dell'avviso.

Normale

Gravità avviso

Definisce la gravità dell'avviso.

Errore

Abilitato

Abilita o disabilita il flusso di lavoro.

Genera avvisi

Definisce se il flusso di lavoro genera un avviso.

Intervallo (secondi)

Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro.

900

Soglia inferiore

Soglia inferiore per questo monitoraggio.

10

Ora di sincronizzazione

Ora di sincronizzazione specificata usando il formato a 24 ore. Può essere omessa.

 

Timeout (secondi)

Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito.

300

Soglia superiore

Soglia superiore per questo monitoraggio.

20

Element properties:

TargetMicrosoft.SQLServer.2012.DBFileGroupFd
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.DBFileStreamGroupSizeMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2012: Lo spazio del contenitore di dati del filegroup FILESTREAM di database è quasi esaurito
Lo spazio del contenitore di dati del filegroup FILESTREAM di database per il filegroup "{0}" nel database "{1}" nell'istanza SQL "{2}" nel computer "{3}" è quasi esaurito. Per altre informazioni, vedere la sezione relativa alla documentazione.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.Monitoring.DBFileStreamGroupSpaceMonitor" Accessibility="Public" Enabled="true" Target="SQL2012Core!Microsoft.SQLServer.2012.DBFileGroupFd" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBFileStreamGroupSizeMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.Monitoring.DBFileStreamFileGroupSpaceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.DBFileGroup"]/GroupName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SQL!Microsoft.SQLServer.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="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>SQL DB FileStream FileGroup</ObjectName>
<CounterName>DB FileStream FileGroup Free Space (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL!Microsoft.SQLServer.DBFileGroup"]/GroupID$</DBFileId>
<Value>$Data/Property[@Name='FreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>