Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:azure SQL Database
Funkce sys.dm_hs_database_log_rate dynamické správy (DMF) vrací informace o rychlosti generování protokolů ve službě Azure SQL Database Hyperscale.
Každý řádek v sadě výsledků představuje komponentu, která řídí (snižuje) rychlost generování protokolů v databázi Hyperscale. V architektuře vrstvy Hyperscale existuje několik komponent, které by mohly snížit rychlost generování protokolů, aby byl výkon databáze stabilní a vyvážený.
Některé typy komponent, jako jsou sekundární výpočetní repliky nebo stránkové servery, můžou dočasně snížit rychlost generování protokolů na primární výpočetní replice, aby se zajistil celkový stav a stabilita databáze.
Pokud se rychlost generování protokolů nezmenší žádnou komponentou, vrátí se řádek pro komponentu primární výpočetní repliky s maximální povolenou rychlostí generování protokolů pro databázi.
Tato funkce dynamické správy vrací řádky pouze v případě, že je relace připojená k primární replice.
Syntaxe
sys.dm_hs_database_log_rate (
{ database_id | NULL }
)
Arguments
database_id
database_id je celé číslo představující ID databáze bez výchozí hodnoty. Platné vstupy jsou BUĎ ID databáze, nebo NULL.
database_id Pokud je zadaný, sys.dm_hs_database_log_rate vrátí řádek pro danou konkrétní databázi.
Pokud není k dispozici nebo pokud NULL je k dispozici, vrátí pro jednu databázi řádek pro aktuální databázi. Pro databázi v elastickém fondu vrátí řádky pro všechny databáze ve fondu, ve kterých má volající dostatečná oprávnění.
Lze zadat předdefinovanou funkci DB_ID .
Vrácená tabulka
| Název sloupce | Datový typ | Description |
|---|---|---|
database_id |
Int NOT NULL | Identifikátor databáze. Hodnoty jsou jedinečné v rámci jedné databáze nebo elastického fondu, ale ne v rámci logického serveru. |
replica_id |
uniqueidentifier NOT NULL | Identifikátor výpočetní repliky, která odpovídá sloupci replica_id v sys.dm_database_replica_statessouboru .
NULL odpovídá component_id serveru stránky Hyperscale.Tato hodnota je vrácena voláním DATABASEPROPERTYEX(DB_NAME(), 'ReplicaID') funkce při připojení k replice. |
file_id |
Int NULA | ID databázového souboru v databázi, který odpovídá stránkovacímu serveru, který omezuje rychlost generování protokolů. Naplní se pouze v případě, že je role stránkový server, v opačném případě se vrátí NULL. Tato hodnota odpovídá sloupci file_id v sys.database_files. |
current_max_log_rate |
bigint NOT NULL | Aktuální maximální limit rychlosti protokolování pro rychlost generování protokolů na primární výpočetní replice v bajtech za sekundu. Pokud žádná komponenta nezmenšuje rychlost generování protokolů, hlásí limit rychlosti generování protokolů pro databázi Hyperscale. |
component_id |
uniqueidentifier NOT NULL | Jedinečný identifikátor komponenty Hyperscale, jako je stránkový server nebo výpočetní replika. |
role |
smallint NOT NULL | Všechny existující role komponent, které můžou snížit generování protokolů.Unknown = 0Storage = 1Primary = 2Replica = 4LocalDestage = 5Destage = 6 GeoReplica = 10StorageCheckpoint = 12MigrationTarget = 14Pokud je rychlost generování protokolů omezená, mohou být na primární výpočetní replice pozorovány následující typy čekání odpovídající jednotlivým rolím: 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 Další informace najdete v tématu Čekání na omezování rychlosti protokolu. |
role_desc |
nvarchar(60) NOT NULL |
Unknown = Role komponenty není známa.Storage = Stránkové serveryPrimary = Primární výpočetní replikaReplica = Sekundární výpočetní replika, jako je replika vysoké dostupnosti (HA), nebo pojmenovaná replika.LocalDestage = Služba protokoluDestage = Dlouhodobé úložiště protokolůGeoReplica = geograficky sekundární replikaStorageCheckpoint = Kontrolní bod na serveru stránkyMigrationTarget = Cílová databáze během zpětné migrace z Hyperscale do databáze bez hyperškálování. |
catchup_rate |
bigint NOT NULL | Rychlost zachycení v bajtech za sekundu Vrátí nulu, pokud se rychlost protokolu nezmenší. |
catchup_bytes |
bigint NOT NULL | Množství transakčního protokolu v bajtech, které musí komponenta použít k zachycení primární výpočetní repliky. Vrátí 0 , když je komponenta zachycena. |
last_reported_time |
datetime | Čas posledního nahlášení hodnot služby protokolu Hyperscale |
Poznámky
Funkce sys.dm_hs_database_log_rate dynamické správy se vztahuje pouze na úroveň Hyperscale služby Azure SQL Database.
Ve službě Azure SQL Database na úrovni služby Hyperscale zajišťuje služba protokolu, že distribuované komponenty se při uplatňování transakčního protokolu příliš nezaostanou. To je nutné k udržení celkového stavu a stability systému. Pokud jsou komponenty za sebou a jejich míra zachytávání je menší než aktuální rychlost generování protokolů, služba protokolů sníží rychlost generování protokolů na primárním serveru. DmF sys.dm_hs_database_log_rate() lze použít k pochopení, která komponenta způsobuje snížení rychlosti protokolu a v jakém rozsahu a jak dlouho může trvat snížení rychlosti protokolu.
Další kontext o snížení rychlosti protokolů najdete v tématu Diagnostika výkonu v Hyperscale.
Povolení
Tato funkce dynamické správy vyžaduje oprávnění ZOBRAZIT STAV VÝKONU DATABÁZE .
Examples
A. Vrácení komponenty způsobující snížení rychlosti protokolu v konkrétní databázi
Následující příklad vrátí řádek pro komponentu, která způsobuje snížení rychlosti protokolu. Pokud se rychlost generování protokolů nezmenší žádnou komponentou, vrátí se pro primární výpočetní prostředky řádek s maximální povolenou rychlostí generování protokolů pro databázi.
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. Vrácení komponent způsobujících snížení rychlosti protokolů
Při připojení k databázi v elastickém fondu vrátí následující příklad řádek pro komponentu, která způsobuje snížení rychlosti protokolu pro každou databázi ve fondu, kde máte dostatečná oprávnění. Při připojení k jednoúčelové databázi vrátí řádek databáze.
SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes
FROM sys.dm_hs_database_log_rate(NULL);