Esegue il monitoraggio dello spazio disponibile nel database e nei supporti che ospitano il database (in percentuale).
Controlla lo spazio disponibile sul database e nei supporti che ospitano il database. Lo spazio disponibile nei supporti che ospitano il database è incluso nello spazio disponibile se l'aumento automatico delle dimensioni è abilitato per almeno uno dei file.
Uno stato di tipo non integro viene determinato nel caso in cui lo spazio disponibile per tutti i file di database sia insufficiente. Lo spazio disponibile può risultare insufficiente per i motivi seguenti:
Impostazioni di configurazione del file inadeguate (dimensioni, dimensioni massime, aumento automatico delle dimensioni e così via)
Spazio rimanente nei supporti inadeguato
Per visualizzare i dati sulle prestazioni, utilizzare il collegamento Dati sulle prestazioni del database
Questo monitoraggio aggrega lo spazio disponibile per ogni file all'interno di un database a seconda della configurazione di ciascun file:
Nessun aumento automatico delle dimensioni
Per un file senza aumento automatico delle dimensioni, lo spazio disponibile corrisponde alla differenza tra le dimensioni iniziali di un file e lo spazio utilizzato.
Aumento automatico delle dimensioni abilitato
Oltre alla differenza tra le dimensioni del file e lo spazio utilizzato, lo spazio disponibile per i file con aumento automatico delle dimensioni abilitato corrisponde al valore più basso tra le dimensioni massime e le dimensioni del file e lo spazio disponibile su disco.
Lo spazio disponibile insufficiente per i file di database con aumento automatico delle dimensioni potrebbe risultare insufficiente se le dimensioni del file si avvicinano ai limiti dell'unità logica di hosting. Per i file per i quali è abilitato l'aumento automatico delle dimensioni con dimensioni massime, lo spazio disponibile potrebbe inoltre risultare insufficiente se le dimensioni del file si avvicinano a quelle massime specificate.
I calcoli dello spazio disponibile tengono inoltre conto del fatto che l'aumento delle dimensioni del file può non riuscire se il livello di aumento del file è maggiore della quantità di spazio disponibile sul disco e che le dimensioni del file non possono aumentare se la differenza tra le dimensioni massime e quelle correnti del file è minore dell'aumento. In questi casi, lo spazio disponibile su disco non è incluso nello spazio disponibile perché non è possibile un ulteriore aumento delle dimensioni.
Per risolvere il problema, effettuare una delle operazioni seguenti:
Incrementare le dimensioni allocate per un file o per tutti file all'interno di un filegroup se l'aumento automatico delle dimensioni è disabilitato
Incrementare il valore delle dimensioni massime di un file se l'aumento automatico delle dimensioni è abilitato
Abilitare l'aumento automatico delle dimensioni per almeno un file
Se l'aumento delle dimensioni è limitato, spostare i file in un'altra unità con maggiore spazio disponibile
Modificare le soglie del monitoraggio in funzione del carico di lavoro
In alternativa, se lo spazio totale del database non rappresenta un problema, effettuare l'operazione seguente:
Disabilitare il monitoraggio per il filegroup specifico o per tutti i filegroup
Vedere l'argomento della documentazione online di SQL Server Architettura di file e filegroup
Target | Microsoft.SQLServer.2008.Database | ||
Parent Monitor | Microsoft.SQLServer.2008.Database.DBSpaceMonitor | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | High | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.DBAndLogSizeMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.Database.DBSizePercentMonitor" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="Microsoft.SQLServer.2008.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBAndLogSizeMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.DBSizePercentMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</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/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$:Database</ObjectName>
<CounterName>DB Total Free Space (%)</CounterName>
<InstanceName>$Data/Property[@Name='Database']$</InstanceName>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBFreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>