Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:Azure SQL Database-
De sys.dm_hs_database_log_rate dynamische beheerfunctie (DMF) retourneert informatie over het genereren van logboeken in Azure SQL Database Hyperscale.
Elke rij in de resultatenset vertegenwoordigt een onderdeel waarmee het genereren van logboeken in een Hyperscale-database wordt bepaald (verminderd). Er zijn meerdere onderdelen in de architectuur van de Hyperscale-laag die het genereren van logboeken kan verminderen om de prestaties van de database stabiel en evenwichtig te houden.
Bepaalde typen onderdelen, zoals secundaire rekenreplica's of paginaservers, kunnen het genereren van logboeken op de primaire rekenreplica tijdelijk verminderen om de algehele databasestatus en stabiliteit te garanderen.
Als het genereren van logboeken niet wordt verlaagd door een onderdeel, wordt er een rij geretourneerd voor het primaire rekenreplicaonderdeel, met de maximaal toegestane snelheid voor het genereren van logboeken voor de database.
Deze functie voor dynamisch beheer retourneert alleen rijen wanneer de sessie is verbonden met de primaire replica.
Syntaxis
sys.dm_hs_database_log_rate (
{ database_id | NULL }
)
Arguments
database_id
database_id is een geheel getal dat de database-id vertegenwoordigt, zonder standaardwaarde. Geldige invoer is een database-id of NULL.
Wanneer er een database_id is opgegeven, sys.dm_hs_database_log_rate retourneert u een rij voor die specifieke database.
Wanneer deze niet is opgegeven of wanneer NULL wordt opgegeven, wordt voor één database een rij voor de huidige database geretourneerd. Voor een database in een elastische pool worden rijen geretourneerd voor alle databases in de pool waar de aanroeper voldoende machtigingen heeft.
De ingebouwde functie DB_ID kan worden opgegeven.
Tabel geretourneerd
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
database_id |
Int NIET NULL | Id van de database. De waarden zijn uniek binnen één database of een elastische pool, maar niet binnen een logische server. |
replica_id |
uniqueidentifier NIET NULL | Id van een rekenreplica die overeenkomt met de replica_id kolom in sys.dm_database_replica_states.
NULL wanneer component_id deze overeenkomt met een Hyperscale-paginaserver.Deze waarde wordt geretourneerd door de DATABASEPROPERTYEX(DB_NAME(), 'ReplicaID') functie-aanroep wanneer deze is verbonden met de replica. |
file_id |
Int NUL | Id van databasebestand in de database die overeenkomt met de paginaserver, waardoor de snelheid van het genereren van logboeken wordt beperkt. Wordt alleen ingevuld als de functie paginaserver is, anders wordt geretourneerd NULL. Deze waarde komt overeen met de file_id kolom in sys.database_files. |
current_max_log_rate |
bigint NIET NULL | De huidige limiet voor maximale logboeksnelheid voor het genereren van logboeken op de primaire rekenreplica, in bytes per seconde. Als er geen onderdeel is dat het genereren van logboeken vermindert, wordt de limiet voor het genereren van logboeken gerapporteerd voor een Hyperscale-database. |
component_id |
uniqueidentifier NIET NULL | Een unieke id van een Hyperscale-onderdeel, zoals een paginaserver of een rekenreplica. |
role |
smallint NIET NULL | Alle bestaande onderdeelrollen die het genereren van logboeken kunnen verminderen.Unknown = 0Storage = 1Primary = 2Replica = 4LocalDestage = 5Destage = 6 GeoReplica = 10StorageCheckpoint = 12MigrationTarget = 14Wanneer het genereren van logboeken beperkt is, kunnen de volgende wachttypen die overeenkomen met elke rol worden waargenomen op de primaire rekenreplica: 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 Zie Wachttijden voor logboeksnelheid voor meer informatie |
role_desc |
nvarchar(60) NIET NULL |
Unknown = De onderdeelrol is niet bekendStorage = Paginaserver(s)Primary = Primaire rekenreplicaReplica = Secundaire rekenreplica, zoals een hoge beschikbaarheidsreplica of een benoemde replica.LocalDestage = LogboekserviceDestage = Langetermijnopslag van logboekenGeoReplica = Geo-secundaire replicaStorageCheckpoint = Een controlepunt op een paginaserverMigrationTarget = De doeldatabase tijdens omgekeerde migratie van Hyperscale naar een niet-Hyperscale-database. |
catchup_rate |
bigint NIET NULL | Inhaalsnelheid in bytes per seconde. Retourneert nul wanneer de logboeksnelheid niet wordt verlaagd. |
catchup_bytes |
bigint NIET NULL | De hoeveelheid transactielogboek, in bytes, die een onderdeel moet toepassen om de primaire rekenreplica in te halen. Retourneert 0 wanneer het onderdeel wordt onderschept. |
last_reported_time |
datum/tijd | De laatste keer dat de Hyperscale-logboekservice waarden heeft gerapporteerd. |
Opmerkingen
De sys.dm_hs_database_log_rate functie voor dynamisch beheer is alleen van toepassing op de Azure SQL Database Hyperscale-laag.
In de Hyperscale-servicelaag van Azure SQL Database zorgt de logboekservice ervoor dat de gedistribueerde onderdelen niet ver achterblijven bij het toepassen van transactielogboeken. Dit is vereist om de algehele systeemstatus en stabiliteit te behouden. Wanneer onderdelen achterblijven en hun inhaalsnelheid lager is dan de huidige snelheid voor het genereren van logboeken, vermindert de logboekservice de snelheid van het genereren van logboeken op de primaire computer. De sys.dm_hs_database_log_rate() DMF kan worden gebruikt om te begrijpen welk onderdeel de vermindering van de logboeksnelheid veroorzaakt en in welke mate, en voor hoe lang de vermindering van de logboeksnelheid kan duren.
Zie Prestatiediagnose in Hyperscale voor meer context over het verminderen van logboeksnelheid.
Permissions
Voor deze dynamische beheerfunctie is de machtiging VIEW DATABASE PERFORMANCE STATE vereist.
Voorbeelden
Eén. Retourneert het onderdeel dat de logboeksnelheidsvermindering in een specifieke database veroorzaakt
In het volgende voorbeeld wordt een rij geretourneerd voor het onderdeel waardoor de logboeksnelheid wordt verlaagd. Als het genereren van logboeken niet wordt verlaagd door een onderdeel, wordt er een rij geretourneerd voor de primaire berekening, met de maximaal toegestane snelheid voor het genereren van logboeken voor de 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. Retourneert u de onderdelen die een lagere logboeksnelheid veroorzaken
Wanneer u verbinding maakt met een database in een elastische pool, retourneert het volgende voorbeeld een rij voor het onderdeel, waardoor de logboeksnelheid wordt verlaagd, voor elke database in de pool waar u voldoende machtigingen hebt. Wanneer u verbinding hebt met één database, wordt de rij voor de database geretourneerd.
SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes
FROM sys.dm_hs_database_log_rate(NULL);