Sdílet prostřednictvím


sys.dm_database_replica_states (Azure SQL Database)

platí pro:azure SQL Databaseazure SQL Managed Instance

Vrátí informace o stavu pro každou databázi, která se účastní primární a sekundární repliky. V sekundární replice vrátí jeden řádek pro každou sekundární databázi v instanci. Na primární replice vrátí jeden řádek pro primární databázi a další řádek pro každou 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.

Název sloupce Datový typ Popis (na primární replice)
database_id int Identifikátor databáze.

Ve službě Azure SQL Database jsou hodnoty jedinečné v rámci jedné databáze nebo elastického fondu, ale ne v rámci logického serveru.
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í hodnotu 1, pokud je replika primární, nebo 0, pokud se jedná o sekundární repliku ve skupině dostupnosti, do které databáze patří. To neodkazuje na primární nebo sekundární databázi v distribuované skupině dostupnosti ani na aktivní geografickou replikaci.

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 = Nesynchroning. 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 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 = Synchronizováno. V primární databázi se místo SYNCHRONIZACE zobrazuje SYNCHRONIZOVANÁ DATABÁZE. 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ácení 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.

Důležité: Pokud je databáze na sekundární replice ve stavu VRÁCENÍ ZPĚT, 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.

Důležité: Pokud je databáze na sekundární replice ve stavu INICIALIZACE, 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:

- NESYNCHRONNÍ
-SYNCHRONIZACE
-SYNCHRONIZOVANÝ
-NAVRACEJÍCÍ
-SPOUŠTĚJÍCÍ
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 na replice dostupnosti, a režim dostupnosti repliky dostupnosti (synchronní potvrzení nebo asynchronní potvrzení), jednu z následujících hodnot.

0 = Není v pořádku. synchronization_state databáze je 0 (NESYNCHRONING).

1 = Částečně v pořádku. Pokud je synchronization_state 1 (SYNCHRONIZACE), databáze v replikě dostupnosti synchronního potvrzení se považuje za částečně v pořádku.

2 = Zdravé. Pokud je synchronization_state 2 (SYNCHRONIZOVÁNO), databáze na replikě dostupnosti synchronního potvrzení se považuje za v pořádku, pokud je synchronization_state 1 (SYNCHRONIZING).
synchronization_health_desc nvarchar(60) Popis synchronization_health databáze dostupnosti

- NOT_HEALTHY
- PARTIALLY_HEALTHY
-ZDRAVÝ
database_state tinyint 0 = Online
1 = Obnovení
2 = Obnovení
3 = Čeká na obnovení
4 = podezřelý
5 = tísňové volání
6 = offline

Poznámka: stejné jako sloupec state v sys.databases.
database_state_desc nvarchar(60) Popis database_state repliky dostupnosti

-ONLINE
-OBNOVOVÁNÍ
-UZDRAVOVÁNÍ
- RECOVERY_PENDING
-PODEZŘÍVAT
-NOUZOVÉ
-OFFLINE

Poznámka: stejné jako sloupec state_desc v sys.databases.
is_suspended bitová Stav databáze:

0 = obnoveno
1 = pozastaveno
suspend_reason tinyint Pokud je databáze pozastavená, důvodem pozastaveného stavu je jedna z těchto možností:

0 = akce uživatele
1 = Pozastavení partnera
2 = Znovu
3 = Zachycení
4 = Použít
5 = Restartovat
6 = Zpět
7 = 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 na primární replice 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 s nulami. Nejedná se o skutečné pořadové číslo protokolu (LSN).
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 vycpané nulami. Nejedná se o skutečné pořadové číslo protokolu.
last_sent_lsn čísel(25 0) 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 Čas odeslání posledního bloku protokolu
last_received_lsn čísel(25 0) 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 s nulami. Nejedná se o skutečné pořadové číslo protokolu.
last_received_time data a času Č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í 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 potvrzení, jejíž aktuální zásada je "zpoždění", 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.
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 Množství 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 Množství záznamů protokolu v souborech protokolu sekundární repliky, která ještě nebyla znovu zadána, 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 Rychlost odeslání souborů FILESTREAM do sekundární repliky v kilobajtech (KB) za 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. Na 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ílaly do primární repliky.

end_of_log_lsn odráží ID bloku protokolu s nulami. Nejedná se o skutečné pořadové číslo protokolu.
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 každý sekundární řádek databáze zobrazuje čas, kdy sekundární replika hostující sekundární databázi oznámila 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.
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.

platí pro: SQL Server 2016 (13.x) a novější verze.
quorum_commit_lsn čísel(25 0) Určeno pouze pro informační účely. Nepodporuje se. Budoucí kompatibilita není zaručena.
quorum_commit_time data a času Určeno pouze pro informační účely. Nepodporuje se. Budoucí kompatibilita není zaručena.

Dovolení

Vyžaduje oprávnění ZOBRAZIT STAV DATABÁZE k databázi.

Viz také