Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
si applica a:database SQL di Azure
La sys.dm_hs_database_log_rate funzione DMF (Dynamic Management Function) restituisce informazioni sulla frequenza di generazione dei log in Hyperscale del database SQL di Azure.
Ogni riga nel set di risultati rappresenta un componente che controlla (riduce) la frequenza di generazione dei log in un database Hyperscale. Esistono più componenti nell'architettura del livello Hyperscale che potrebbero ridurre la frequenza di generazione dei log per mantenere stabili e bilanciate le prestazioni del database.
Alcuni tipi di componenti, ad esempio repliche di calcolo secondarie o server di pagine, possono ridurre temporaneamente la frequenza di generazione dei log nella replica di calcolo primaria per garantire l'integrità e la stabilità complessive del database.
Se la frequenza di generazione del log non viene ridotta da alcun componente, viene restituita una riga per il componente di replica di calcolo primario, che mostra la frequenza massima di generazione dei log consentita per il database.
Questa funzione a gestione dinamica restituisce righe solo quando la sessione è connessa alla replica primaria.
Sintassi
sys.dm_hs_database_log_rate (
{ database_id | NULL }
)
Arguments
database_id
database_id è un numero intero che rappresenta l'ID del database, senza alcun valore predefinito. Gli input validi sono un ID di database o NULL.
Quando viene specificato un oggetto database_id , sys.dm_hs_database_log_rate restituisce una riga per il database specifico.
Se non viene specificato o quando NULL viene specificato, per un singolo database restituisce una riga per il database corrente. Per un database in un pool elastico, restituisce righe per tutti i database nel pool in cui il chiamante dispone di autorizzazioni sufficienti.
È possibile specificare la funzione predefinita DB_ID .
Tabella restituita
| Nome colonna | Tipo di dati | Description |
|---|---|---|
database_id |
Int NOT NULL | Identificatore del database. I valori sono univoci all'interno di un singolo database o di un pool elastico, ma non all'interno di un server logico. |
replica_id |
uniqueidentifier NOT NULL | Identificatore di una replica di calcolo che corrisponde alla replica_id colonna in sys.dm_database_replica_states.
NULL quando component_id corrisponde a un server di pagine Hyperscale.Questo valore viene restituito dalla chiamata di DATABASEPROPERTYEX(DB_NAME(), 'ReplicaID') funzione quando si è connessi alla replica. |
file_id |
Int NULLO | ID del file di database all'interno del database corrispondente al server di pagine che limita la frequenza di generazione del log. Verrà popolato solo se il ruolo è il server di pagine, in caso contrario restituisce NULL. Questo valore corrisponde alla file_id colonna in sys.database_files. |
current_max_log_rate |
bigint NOT NULL | Limite massimo di velocità del log corrente per la frequenza di generazione dei log nella replica di calcolo primaria, in byte/sec. Se nessun componente riduce la frequenza di generazione dei log, segnala il limite di velocità di generazione dei log per un database Hyperscale. |
component_id |
uniqueidentifier NOT NULL | Identificatore univoco di un componente Hyperscale, ad esempio un server di pagine o una replica di calcolo. |
role |
smallint NOT NULL | Tutti i ruoli dei componenti esistenti che possono ridurre la generazione dei log.Unknown = 0Storage = 1Primary = 2Replica = 4LocalDestage = 5Destage = 6 GeoReplica = 10StorageCheckpoint = 12MigrationTarget = 14Quando la frequenza di generazione dei log è limitata, è possibile osservare i tipi di attesa seguenti corrispondenti a ogni ruolo nella replica di calcolo primaria: 1 - RBIO_RG_STORAGE 4 - RBIO_RG_REPLICA 5 - RBIO_RG_LOCALDESTAGE 6 - RBIO_RG_DESTAGE 10 - RBIO_RG_GEOREPLICA 12 - RBIO_RG_STORAGE_CHECKPOINT 14 - RBIO_RG_MIGRATION_TARGET Per altre informazioni, vedere Attese di limitazione della frequenza dei log |
role_desc |
nvarchar(60) NOT NULL |
Unknown = Il ruolo componente non è notoStorage = Server paginaPrimary = Replica di calcolo primariaReplica = Replica di calcolo secondaria, ad esempio una replica a disponibilità elevata o una replica denominata.LocalDestage = Servizio logDestage = Archiviazione log a lungo termineGeoReplica = Replica geografica secondariaStorageCheckpoint = Checkpoint in un server di pagineMigrationTarget = Il database di destinazione durante la migrazione inversa da Hyperscale a un database non Hyperscale. |
catchup_rate |
bigint NOT NULL | Frequenza di recupero in byte/sec. Restituisce zero quando la frequenza dei log non viene ridotta. |
catchup_bytes |
bigint NOT NULL | Quantità di log delle transazioni, in byte, che un componente deve applicare per recuperare la replica di calcolo primaria. Restituisce 0 quando il componente viene intercettato. |
last_reported_time |
datetime | Ora dell'ultima segnalazione dei valori del servizio di log Hyperscale. |
Osservazioni:
La sys.dm_hs_database_log_rate funzione di gestione dinamica si applica solo al livello Hyperscale del database SQL di Azure.
Nel livello di servizio Hyperscale del database SQL di Azure, il servizio log garantisce che i componenti distribuiti non si trovino molto indietro nell'applicazione del log delle transazioni. Questo è necessario per mantenere l'integrità e la stabilità complessive del sistema. Quando i componenti sono in ritardo e la frequenza di recupero è inferiore alla frequenza di generazione del log corrente, il servizio log riduce la frequenza di generazione dei log nel database primario. Il sys.dm_hs_database_log_rate() DMF può essere usato per comprendere quale componente sta causando la riduzione della frequenza di log e in quale misura e per quanto tempo la riduzione della frequenza di log potrebbe durare.
Per altre informazioni sulla riduzione della frequenza dei log, vedere Diagnostica delle prestazioni in Hyperscale.
Permissions
Questa funzione di gestione dinamica richiede l'autorizzazione VIEW DATABASE PERFORMANCE STATE .
Esempi
R. Restituire il componente che causa la riduzione della frequenza dei log in un database specifico
Nell'esempio seguente viene restituita una riga per il componente che causa una riduzione della frequenza di log. Se la frequenza di generazione dei log non viene ridotta da alcun componente, verrà restituita una riga per il calcolo primario, che mostra la frequenza massima di generazione dei log consentita per il database.
SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes
FROM sys.dm_hs_database_log_rate(DB_ID(N'Contosodb'));
B. Restituire i componenti che causano la riduzione della frequenza di registrazione
Quando si è connessi a un database in un pool elastico, nell'esempio seguente viene restituita una riga per il componente che causa una riduzione della frequenza di log per ogni database nel pool in cui si dispone di autorizzazioni sufficienti. Quando si è connessi a un database singolo, restituisce la riga per il database.
SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes
FROM sys.dm_hs_database_log_rate(NULL);