Esegue il monitoraggio dello spazio disponibile in un file di log e nei supporti che ospitano il log (in percentuale).
Esegue il monitoraggio dello spazio disponibile nei file di log e nel supporto che ospita i file di log. Lo spazio disponibile nel supporto che ospita i file di log è incluso nello spazio disponibile se l'opzione di aumento automatico delle dimensioni è abilitata per almeno uno dei file.
Uno stato non integro viene determinato nel caso in cui lo spazio disponibile per tutti i file di log 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)
Lo spazio rimanente nel supporto è inadeguato
Mancanza di backup regolari periodici
Nessun troncamento log
Per visualizzare i dati sulle prestazioni, usare il collegamento Dati sulle prestazioni spazio disponibile file di log database.
Questo monitoraggio aggrega lo spazio disponibile per ogni file di log all'interno di un database a seconda della configurazione di ogni 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 usato.
Aumento automatico delle dimensioni abilitato
Oltre alla differenza tra le dimensioni del file e lo spazio usato, lo spazio disponibile per i file con opzione di aumento automatico delle dimensioni abilitata 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 può indicare che le dimensioni del file si stanno avvicinando 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é le dimensioni non possono aumentare ulteriormente.
Per risolvere il problema, effettuare una delle operazioni seguenti:
Incrementare le dimensioni allocate per i file di log 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
Spostare i file di log in un'altra unità con maggiore spazio disponibile se lo spazio per l'aumento delle dimensioni è limitato
Eseguire backup regolari dei file di log per le modalità di recupero FULL e BULK-LOGGED
Esaminare i motivi del mancato troncamento del log:
Transazioni attive con esecuzione aperta prolungata
Operazioni di backup a esecuzione prolungata
Transazione replicata aperta per un periodo di tempo prolungato (replica transazionale)
Ritardo di mirroring per il server principale (Mirroring del database)
Modificare le soglie del monitoraggio in funzione del carico di lavoro
In alternativa, se lo spazio disponibile per il file di log non rappresenta un problema per il database, procedere nel modo seguente:
Disabilitare il monitoraggio per il database specifico o per tutti i database
Vedere l'argomento della documentazione online di SQL Server Architettura di file e filegroup
Nome | Descrizione | Valore predefinito |
Abilitato | Abilita o disabilita il flusso di lavoro. | Sì |
Genera avvisi | Definisce se il flusso di lavoro genera un avviso. | No |
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 |
Target | Microsoft.SQLServer.2012.DBLogFile |
Parent Monitor | System.Health.PerformanceState |
Category | PerformanceHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | True |
Monitor Type | Microsoft.SQLServer.2012.DBLogFileSizeMonitorType |
Remotable | True |
Accessibility | Public |
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2012.Monitoring.DBLogFileSpaceMonitor" Accessibility="Public" Enabled="true" Target="SQL2012Core!Microsoft.SQLServer.2012.DBLogFile" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBLogFileSizeMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<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 Log File</ObjectName>
<CounterName>DB Log File Free Space (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL!Microsoft.SQLServer.DBFile"]/FileID$</DBFileId>
<Value>$Data/Property[@Name='FreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>