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:SQL Server
azure SQL Managed Instance
Vrátí řádek pro každou databázi, která se účastní skupiny dostupnosti AlwaysOn, pro kterou místní instance SQL Serveru hostuje repliku dostupnosti. Toto zobrazení dynamické správy zveřejňuje informace o stavu jak u primárních, tak sekundárních replik. V sekundární replice vrátí toto zobrazení řádek pro každou sekundární databázi v instanci serveru. V primární replice toto zobrazení vrátí řádek pro každou primární databázi a další řádek pro odpovídající sekundární databázi.
Důležitý
V závislosti na stavu akce a vyšší úrovně můžou být informace o stavu databáze nedostupné nebo zastaralé. Kromě toho mají hodnoty pouze místní relevanci. Například hodnota sloupce last_hardened_lsn
na primární replice odráží informace o dané sekundární databázi, která je aktuálně k dispozici pro primární repliku, nikoli skutečné pořadové číslo posíleného protokolu (LSN), které sekundární replika aktuálně obsahuje.
Název sloupce | Datový typ | Popis (na primární replice) |
---|---|---|
database_id |
int | Identifikátor databáze, jedinečný v rámci instance SQL Serveru. Tato hodnota je stejná jako zobrazená v zobrazení katalogu sys.databases. |
group_id |
uniqueidentifier | Identifikátor skupiny dostupnosti, do které databáze patří. |
replica_id |
uniqueidentifier | Identifikátor repliky dostupnosti v rámci skupiny dostupnosti |
group_database_id |
uniqueidentifier | Identifikátor databáze v rámci skupiny dostupnosti. Tento identifikátor je stejný na každé replice, ke které je tato databáze připojena. |
is_local |
bitová | Jestli je databáze dostupnosti místní, jedna z těchto možností:0 = Databáze není místní pro instanci SQL Serveru.1 = Databáze je místní pro instanci serveru. |
is_primary_replica |
bitová | Vrátí 1 , pokud je replika primární, nebo 0 , pokud se jedná o sekundární repliku.platí pro: SQL Server 2014 (12.x) a novější verze. |
synchronization_state |
tinyint | Stav přesunu dat, jedna z následujících hodnot.0 = Nesynchronní. U primární databáze značí, že databáze není připravená synchronizovat svůj transakční protokol s odpovídajícími sekundárními databázemi. U sekundární databáze tato hodnota značí, že databáze nespustí synchronizaci protokolů kvůli problému s připojením, je pozastavená nebo prochází stavy přechodu během spuštění nebo přepínače role.1 = Synchronizace. U primární databáze označuje, že databáze je připravená přijmout požadavek kontroly ze sekundární databáze. U sekundární databáze označuje, že pro databázi probíhá aktivní přesun dat.2 = Synchronizované. Primární databáze zobrazuje SYNCHRONIZED místo SYNCHRONIZING . Sekundární databáze synchronního potvrzení zobrazuje synchronizaci, když místní mezipaměť říká, že databáze je připravená a synchronizuje se.3 = vrátit zpět. Označuje fázi procesu vrácení zpět, když sekundární databáze aktivně získává stránky z primární databáze.Upozornění: Pokud je databáze na sekundární replice ve stavu REVERTING , vynucení převzetí služeb při selhání sekundární replikou opustí databázi ve stavu, ve kterém nejde spustit jako primární databázi. Buď se databáze musí znovu připojit jako sekundární databáze, nebo musíte použít nové záznamy protokolu ze zálohy protokolu.4 = Inicializace. Určuje fázi vrácení zpět v případě, že se odesílá a posílení zabezpečení transakčního protokolu požadovaného pro sekundární databázi, aby bylo možné provést vrácení LSN zpět do sekundární repliky.Upozornění: Pokud je databáze na sekundární replice ve stavu INITIALIZING , vynucení převzetí služeb při selhání sekundární replikou opustí databázi ve stavu, ve kterém nejde spustit jako primární databázi. Buď se databáze musí znovu připojit jako sekundární databáze, nebo musíte použít nové záznamy protokolu ze zálohy protokolu. |
synchronization_state_desc |
nvarchar(60) | Popis stavu přesunu dat:NOT SYNCHRONIZING SYNCHRONIZING SYNCHRONIZED REVERTING INITIALIZING |
is_commit_participant |
bitová |
0 = Potvrzení transakce není synchronizováno s ohledem na tuto databázi.1 = Potvrzení transakce je synchronizováno s ohledem na tuto databázi.Pro databázi v replice dostupnosti asynchronního potvrzení je tato hodnota vždy 0 .U databáze na replikě dostupnosti synchronního potvrzení je tato hodnota přesná pouze u primární databáze. |
synchronization_health |
tinyint | Odráží průnik stavu synchronizace databáze, která je připojená ke skupině dostupnosti repliky dostupnosti, a režim dostupnosti repliky dostupnosti (synchronní nebo asynchronní režim potvrzení). Může to být jedna z následujících hodnot.0 = Není v pořádku.
synchronization_state databáze je 0 (NOT SYNCHRONIZING ).1 = Částečně v pořádku. Databáze repliky dostupnosti synchronního potvrzení se považuje za částečně v pořádku, pokud je synchronization_state 1 (SYNCHRONIZING ).2 = v pořádku. Databáze repliky dostupnosti synchronního potvrzení je považována za v pořádku, pokud je synchronization_state 2 (SYNCHRONIZED ) a databáze repliky dostupnosti asynchronního potvrzení je považována za v pořádku, pokud je synchronization_state 1 (SYNCHRONIZING ). |
synchronization_health_desc |
nvarchar(60) | Popis synchronization_health databáze dostupnostiNOT_HEALTHY PARTIALLY_HEALTHY HEALTHY |
database_state |
tinyint |
0 = online1 = Obnovení2 = Obnovení3 = Čeká na obnovení4 = podezřelý5 = tísňové volání6 = offlinePoznámka: stejný jako sloupec state v sys.databases. |
database_state_desc |
nvarchar(60) | Popis database_state repliky dostupnostiONLINE RESTORING RECOVERING RECOVERY_PENDING SUSPECT EMERGENCY OFFLINE Poznámka: stejný jako sloupec state_desc v sys.databases. |
is_suspended |
bitová | Stav databáze:0 = obnoveno1 = pozastaveno |
suspend_reason |
tinyint | Pokud je databáze pozastavená, důvodem pozastaveného stavu je jedna z těchto možností:0 = akce uživatele1 = Pozastavit od partnera2 = Znovu3 = Capture4 = Použít5 = Restartovat6 = Zpět7 = Opětovné ověření8 = Chyba při výpočtu bodu synchronizace sekundární repliky |
suspend_reason_desc |
nvarchar(60) | Popis důvodu pozastaveného stavu databáze:SUSPEND_FROM_USER = uživatel ručně pozastavil přesun dat.SUSPEND_FROM_PARTNER = Replika databáze je pozastavena po vynuceném převzetí služeb při selháníSUSPEND_FROM_REDO = Došlo k chybě během fáze opakování.SUSPEND_FROM_APPLY = Při zápisu protokolu do souboru došlo k chybě (viz protokol chyb).SUSPEND_FROM_CAPTURE = Při zachytávání protokolu primární repliky došlo k chybě.SUSPEND_FROM_RESTART = Replika databáze byla pozastavena před restartováním databáze (viz protokol chyb).SUSPEND_FROM_UNDO = Během fáze vrácení zpět došlo k chybě (viz protokol chyb).SUSPEND_FROM_REVALIDATION = Při opětovném připojení se zjistí neshoda změn protokolu (viz protokol chyb).SUSPEND_FROM_XRF_UPDATE = Nelze najít společný bod protokolu (viz protokol chyb). |
recovery_lsn |
čísel(25 0) | Na primární replice zapíše konec transakčního protokolu před primární databází všechny nové záznamy protokolu po obnovení nebo převzetí služeb při selhání. Pokud je tato hodnota pro danou sekundární databázi menší než aktuální posílená hodnota LSN (last_hardened_lsn ), recovery_lsn je hodnota, na kterou by se tato sekundární databáze potřebovala znovu synchronizovat (to znamená vrátit se k databázi a znovu inicializovat). Pokud je tato hodnota větší nebo rovna aktuálnímu posíleného LSN, bude opětovná synchronizace nepotřebná a nedojde k nim.recovery_lsn odráží ID bloku protokolu vycpané nulami. Není to skutečný LSN. Informace o tom, jak je tato hodnota odvozena, naleznete v tématu Vysvětlení hodnot sloupců LSN, dále v tomto článku. |
truncation_lsn |
čísel(25 0) | U primární repliky se u primární databáze odráží minimální zkrácení protokolu LSN ve všech odpovídajících sekundárních databázích. Pokud je blokování místního zkrácení protokolu (například operací zálohování), může být toto LSN vyšší než místní zkrácení LSN. U dané sekundární databáze odráží bod zkrácení této databáze. truncation_lsn odráží ID bloku protokolu s nulami. Nejedná se o skutečné pořadové číslo protokolu. |
last_sent_lsn |
čísel(25 0) | Při dotazování primární repliky se last_sent_lsn hlásí pro každý řádek databáze sekundární repliky. Identifikátor bloku protokolu, který označuje bod, do kterého byly všechny bloky protokolu odeslány primárním serverem. Toto je ID dalšího bloku protokolu, který se odešle, a nikoli ID naposledy odeslaného bloku protokolu.last_sent_lsn odráží ID bloku protokolu s nulami. Nejedná se o skutečné pořadové číslo protokolu. |
last_sent_time |
data a času | Při dotazování primární repliky se last_sent_time hlásí pro každý řádek databáze sekundární repliky. Čas odeslání posledního bloku protokolu |
last_received_lsn |
čísel(25 0) | Při dotazování na sekundární repliku se last_received_lsn zobrazí pro řádek databáze místní sekundární repliky. ID bloku protokolu identifikující bod, do kterého byly přijaty všechny bloky protokolu sekundární replikou, která je hostitelem této sekundární databáze.last_received_lsn odráží ID bloku protokolu vycpané nulami. Nejedná se o skutečné pořadové číslo protokolu. |
last_received_time |
data a času | Při dotazování na sekundární repliku se last_received_time zobrazí pro řádek databáze místní sekundární repliky. Čas načtení ID bloku protokolu v poslední přijaté zprávě na sekundární replice |
last_hardened_lsn |
čísel(25 0) | Začátek bloku protokolu obsahujícího záznamy protokolu posledního posíleného LSN v sekundární databázi V primární databázi asynchronního potvrzení nebo v synchronní databázi, jejíž aktuální zásada je delay , je hodnota NULL . U jiných primárních databází synchronního potvrzení last_hardened_lsn označuje minimální posílení LSN ve všech sekundárních databázích.Poznámka: last_hardened_lsn odráží ID bloku protokolu s nulami. Nejedná se o skutečné pořadové číslo protokolu. Další informace najdete v tématu Vysvětlení hodnot sloupců LSN, dále v tomto článku. |
last_hardened_time |
data a času | V sekundární databázi je čas identifikátoru bloku protokolu pro poslední posílenou LSN (last_hardened_lsn ). V primární databázi odráží čas odpovídající minimálnímu posílení sítě LSN. |
last_redone_lsn |
čísel(25 0) | Skutečné pořadové číslo posledního záznamu protokolu, který byl znovu v sekundární databázi.
last_redone_lsn je vždy menší než last_hardened_lsn . |
last_redone_time |
data a času | Čas opětovného posledního záznamu protokolu v sekundární databázi |
log_send_queue_size |
bigint | Počet záznamů protokolu primární databáze, která nebyla odeslána do sekundárních databází, v kilobajtech (KB). |
log_send_rate |
bigint | Průměrná rychlost, za kterou instance primární repliky posílala data během posledního aktivního období v kilobajtech (KB) za sekundu. |
redo_queue_size |
bigint | Počet záznamů protokolu v souborech protokolu sekundární repliky, které ještě nejsou znovu v kilobajtech (KB). |
redo_rate |
bigint | Průměrná rychlost opětovného zápisu záznamů protokolu v dané sekundární databázi v kilobajtech (KB) za sekundu.redo_rate se vypočítá tak, že se celkový počet bajtů protokolu znovu vydělí od spuštění databázového stroje podle časového rozsahu, kdy se znovu aktivně spustilo, a ne uplynulým časem. Vzhledem k tomu, že opakování nemusí běžet nepřetržitě, výsledná hodnota se může lišit (vyšší) než hodnota Database Replica:Redone Bytes/sec čítače výkonu. |
filestream_send_rate |
bigint | Určuje rychlost odeslání souborů FILESTREAM do sekundární repliky v kilobajtech (KB)/sekundu. |
end_of_log_lsn |
čísel(25 0) | Místní konec protokolu LSN. Skutečný LSN odpovídající poslednímu záznamu protokolu v mezipaměti protokolů v primární a sekundární databázi. V primární replice sekundární řádky odrážejí konec protokolu LSN z nejnovějších zpráv o průběhu, které sekundární repliky odesílané do primární repliky.end_of_log_lsn odráží ID bloku protokolu s nulami. Nejedná se o skutečné pořadové číslo protokolu. Další informace najdete v tématu Vysvětlení hodnot sloupců LSN, dále v tomto článku. |
last_commit_lsn |
čísel(25 0) | Skutečné pořadové číslo protokolu odpovídající poslednímu záznamu potvrzení v transakčním protokolu. V primární databázi to odpovídá poslednímu zpracovanému záznamu potvrzení. Řádky sekundárních databází zobrazují pořadové číslo protokolu, které sekundární replika odeslala do primární repliky. Na sekundární replice se jedná o poslední záznam potvrzení, který byl znovu aktivován. |
last_commit_time |
data a času | Čas odpovídající poslednímu záznamu potvrzení V sekundární databázi je tentokrát stejná jako u primární databáze. Na primární replice se u každého sekundárního řádku databáze zobrazí čas, kdy sekundární replika hostující sekundární databázi ohlásila zpět primární replice. Rozdíl v čase mezi řádkem primární databáze a daným řádkem sekundární databáze představuje přibližně cíl bodu obnovení (RPO) za předpokladu, že se proces opětovného dokončení zachytí a že se průběh nahlásil zpět do primární repliky sekundární replikou. Další informace naleznete v tématu Výpočet sekundárního databázového cíle bodu obnovení. |
low_water_mark_for_ghosts |
bigint | Monotonicky rostoucí číslo pro databázi označující nízkou hladinu použitou stínovým a trvalým úložištěm verzí čištění primární databáze. Pokud úloha zápisu běží na primárním serveru, ale toto číslo se v průběhu času nezvyšuje, znamená to, že čištění úložiště stínových a trvalých verzí se může uchovávat. Pokud chcete rozhodnout, které řádky duchů a které verze řádků se mají vyčistit, primární replika použije minimální hodnotu tohoto sloupce pro tuto databázi napříč všemi replikami (včetně primární repliky). |
secondary_lag_seconds |
bigint | Počet sekund, po které je sekundární replika za primární replikou během synchronizace. Na primární replice se zpoždění synchronizace (prodleva) pro každou sekundární databázi vypočítá jako počet sekund, protože posílení nejdříve posíleného LSN na primární replice, která ještě není na sekundární replice posílená. Tato hodnota se zobrazí jako 0 , pokud je přesun dat pozastavený. Aby mohla tato hodnota zobrazit aktivní prodlevu, musí být přesun dat v pozastaveném stavu.platí pro: SQL Server 2016 (13.x) a novější verze. |
Vysvětlení hodnot sloupců LSN
Hodnoty end_of_log_lsn
, last_hardened_lsn
, last_received_lsn
, last_sent_lsn
, recovery_lsn
a truncation_lsn
sloupců nejsou skutečnými pořadovými čísly protokolu (LSN). Každá z těchto hodnot odráží ID bloku protokolu vycpané nulami.
end_of_log_lsn
, last_hardened_lsn
a recovery_lsn
jsou vyprázdněny sítě LSN. Například last_hardened_lsn
označuje začátek dalšího bloku za bloky, které jsou již na disku. Takže jakýkoli LSN menší hodnota last_hardened_lsn
je na disku. Sítě LSN, které jsou větší nebo rovny této hodnotě, nejsou vyprázdněny.
Z hodnot LSN vrácených sys.dm_hadr_database_replica_states
, pouze last_redone_lsn
je skutečný LSN.
Dovolení
SQL Server 2019 (15.x) a starší verze vyžadují oprávnění VIEW SERVER STATE
na serveru.
SQL Server 2022 (16.x) a novější verze vyžadují VIEW SERVER PERFORMANCE STATE
oprávnění na serveru.