Udostępnij za pośrednictwem


sys.dm_database_replica_states (Azure SQL Database)

Dotyczy:azure SQL Databaseazure SQL Managed Instance

Zwraca informacje o stanie dla każdej bazy danych, która uczestniczy w replikach podstawowych i pomocniczych. W repliki pomocniczej zwraca jeden wiersz dla każdej pomocniczej bazy danych w wystąpieniu. W repliki podstawowej zwraca jeden wiersz dla podstawowej bazy danych i dodatkowy wiersz dla każdej pomocniczej bazy danych.

Ważny

W zależności od akcji i stanów wyższego poziomu informacje o stanie bazy danych mogą być niedostępne lub nieaktualne. Ponadto wartości mają tylko lokalne znaczenie.

Nazwa kolumny Typ danych Opis (w repliki podstawowej)
database_id Identyfikator bazy danych.

W usłudze Azure SQL Database wartości są unikatowe w ramach pojedynczej bazy danych lub elastycznej puli, ale nie w obrębie serwera logicznego.
group_id uniqueidentifier Identyfikator grupy dostępności, do której należy baza danych.
replica_id uniqueidentifier Identyfikator repliki dostępności w grupie dostępności.
group_database_id uniqueidentifier Identyfikator bazy danych w grupie dostępności. Ten identyfikator jest identyczny w każdej repliki, do której jest przyłączona ta baza danych.
is_local bitów Czy baza danych dostępności jest lokalna, jedną z następujących opcji:

0 = baza danych nie jest lokalna dla wystąpienia programu SQL Server.

1 = Baza danych jest lokalna dla wystąpienia serwera.
is_primary_replica bitów Zwraca wartość 1, jeśli replika jest podstawowa lub 0, jeśli jest repliką pomocniczą w grupie dostępności, do której należy baza danych. Nie odnosi się to do podstawowej lub pomocniczej bazy danych w rozproszonej grupie dostępności ani aktywnej relacji replikacji geograficznej.

Dotyczy: SQL Server 2014 (12.x) i nowsze wersje.
synchronization_state tinyint Stan przenoszenia danych, jeden z następujących wartości.

0 = Brak synchronizacji. W przypadku podstawowej bazy danych wskazuje, że baza danych nie jest gotowa do zsynchronizowania dziennika transakcji z odpowiednimi pomocniczymi bazami danych. W przypadku pomocniczej bazy danych wskazuje, że baza danych nie rozpoczęła synchronizacji dzienników z powodu problemu z połączeniem, jest zawieszona lub przechodzi przez stany przejścia podczas uruchamiania lub przełączania roli.

1 = Synchronizowanie. W przypadku podstawowej bazy danych wskazuje, że baza danych jest gotowa do akceptowania żądania skanowania z pomocniczej bazy danych. W przypadku pomocniczej bazy danych wskazuje, że aktywne przenoszenie danych odbywa się dla bazy danych.

2 = zsynchronizowane. Podstawowa baza danych pokazuje SYNCHRONIZOWANE zamiast SYNCHRONIZACJI. Pomocnicza baza danych zatwierdzania synchronicznego jest synchronizowana, gdy lokalna pamięć podręczna informuje, że baza danych jest gotowa do pracy w trybie failover i jest synchronizowana.

3 = Przywracanie. Wskazuje fazę procesu cofania, gdy pomocnicza baza danych aktywnie uzyskuje strony z podstawowej bazy danych.

Ważne: Gdy baza danych w replice pomocniczej jest w stanie PRZYWRACANIA, wymuszanie przejścia w tryb failover do repliki pomocniczej powoduje pozostawienie bazy danych w stanie, w którym nie można uruchomić jej jako podstawowej bazy danych. Baza danych musi ponownie nawiązać połączenie jako pomocnicza baza danych lub należy zastosować nowe rekordy dziennika z kopii zapasowej dziennika.

4 = Inicjowanie. Wskazuje fazę cofania, gdy dziennik transakcji wymagany dla pomocniczej bazy danych do nadrobienia zaległości do cofania LSN jest dostarczany i wzmocniony na repliki pomocniczej.

Ważne: Gdy baza danych w repliki pomocniczej znajduje się w stanie INICJOWANIE, wymuszanie przejścia w tryb failover do repliki pomocniczej powoduje pozostawienie bazy danych w stanie, w którym nie można uruchomić jej jako podstawowej bazy danych. Baza danych musi ponownie nawiązać połączenie jako pomocnicza baza danych lub należy zastosować nowe rekordy dziennika z kopii zapasowej dziennika.
synchronization_state_desc nvarchar(60) Opis stanu przenoszenia danych:

- NIE SYNCHRONIZUJE
-SYNCHRONIZOWANIE
-SYNCHRONIZOWANE
-PRZYWRACANIE
-INICJOWANIE
is_commit_participant bitów 0 = Zatwierdzenie transakcji nie jest synchronizowane w odniesieniu do tej bazy danych.

1 = Zatwierdzenie transakcji jest synchronizowane w odniesieniu do tej bazy danych.

W przypadku bazy danych w repliki dostępności zatwierdzania asynchronicznego ta wartość jest zawsze 0.

W przypadku bazy danych w repliki dostępności zatwierdzania synchronicznego ta wartość jest dokładna tylko w podstawowej bazie danych.
synchronization_health tinyint Odzwierciedla przecięcie stanu synchronizacji bazy danych przyłączonej do grupy dostępności w repliki dostępności i tryb dostępności repliki dostępności (synchroniczne zatwierdzenie lub tryb zatwierdzania asynchronicznego), jedną z następujących wartości.

0 = nie jest w dobrej kondycji. synchronization_state bazy danych wynosi 0 (NIE SYNCHRONIZUJ).

1 = Częściowo w dobrej kondycji. Baza danych w repliki dostępności zatwierdzania synchronicznego jest uznawana za częściowo w dobrej kondycji, jeśli synchronization_state ma wartość 1 (SYNCHRONIZING).

2 = Dobra kondycja. Baza danych w repliki dostępności zatwierdzania synchronicznego jest uważana za w dobrej kondycji, jeśli synchronization_state ma wartość 2 (ZSYNCHRONIZOWANO), a baza danych w asynchronicznej repliki dostępności zatwierdzenia jest uważana za w dobrej kondycji, jeśli synchronization_state ma wartość 1 (SYNCHRONIZACJA).
synchronization_health_desc nvarchar(60) Opis synchronization_health bazy danych dostępności.

- NOT_HEALTHY
- PARTIALLY_HEALTHY
-ZDROWY
database_state tinyint 0 = Online
1 = Przywracanie
2 = Odzyskiwanie
3 = Oczekiwanie na odzyskiwanie
4 = Podejrzany
5 = awaryjne
6 = offline

Uwaga: taka sama jak kolumna state w sys.databases.
database_state_desc nvarchar(60) Opis database_state repliki dostępności.

-ONLINE
-PRZYWRACANIE
-ODZYSKIWANIE
- RECOVERY_PENDING
-PODEJRZANY
-AWARYJNEGO
-OFFLINE

Uwaga: taka sama jak kolumna state_desc w sys.databases.
is_suspended bitów Stan bazy danych, jeden z:

0 = Wznowione
1 = Zawieszone
suspend_reason tinyint Jeśli baza danych jest zawieszona, przyczyna stanu wstrzymania:

0 = akcja użytkownika
1 = Wstrzymanie od partnera
2 = Powtórz
3 = Przechwytywanie
4 = Zastosuj
5 = Ponowne uruchamianie
6 = Cofnij
7 = Zmiana
8 = Błąd podczas obliczania pomocniczego punktu synchronizacji repliki
suspend_reason_desc nvarchar(60) Opis przyczyny stanu wstrzymania bazy danych:

SUSPEND_FROM_USER = Użytkownik ręcznie wstrzymał przenoszenie danych

SUSPEND_FROM_PARTNER = replika bazy danych jest zawieszona po wymuszonym przejściu w tryb failover

SUSPEND_FROM_REDO = Wystąpił błąd podczas fazy ponownego wykonywania

SUSPEND_FROM_APPLY = Wystąpił błąd podczas zapisywania dziennika do pliku (zobacz dziennik błędów)

SUSPEND_FROM_CAPTURE = Wystąpił błąd podczas przechwytywania dziennika w repliki podstawowej

SUSPEND_FROM_RESTART = Replika bazy danych została zawieszona przed ponownym uruchomieniem bazy danych (zobacz dziennik błędów)

SUSPEND_FROM_UNDO = Wystąpił błąd podczas fazy cofania (zobacz dziennik błędów)

SUSPEND_FROM_REVALIDATION = Wykryto niezgodność zmian dziennika podczas ponownego nawiązywania połączenia (zobacz dziennik błędów)

SUSPEND_FROM_XRF_UPDATE = Nie można odnaleźć wspólnego punktu dziennika (zobacz dziennik błędów)
recovery_lsn liczbowe (25 0) Na replice podstawowej koniec dziennika transakcji przed zapisaniem nowych rekordów dziennika dziennika po odzyskaniu lub przejściu w tryb failover. W przypadku danej pomocniczej bazy danych, jeśli ta wartość jest mniejsza niż bieżąca wzmocniona nazwa LSN (last_hardened_lsn), recovery_lsn jest wartością, do której ta pomocnicza baza danych będzie musiała ponownie zsynchronizować (czyli przywrócić i ponownie zainicjować). Jeśli ta wartość jest większa lub równa bieżącej wzmocnionej sieci LSN, ponowna synchronizacja będzie niepotrzebna i nie nastąpi.

recovery_lsn odzwierciedla identyfikator bloku dziennika wypełniony zerami. Nie jest to rzeczywisty numer sekwencji dziennika (LSN).
truncation_lsn liczbowe (25 0) W repliki podstawowej w przypadku podstawowej bazy danych odzwierciedlenie minimalnego obcinania dziennika LSN we wszystkich odpowiednich pomocniczych bazach danych. Jeśli obcinanie dziennika lokalnego jest blokowane (na przykład przez operację tworzenia kopii zapasowej), ta nazwa LSN może być wyższa niż lokalna obcięta nazwa LSN.

W przypadku danej pomocniczej bazy danych odzwierciedla punkt obcięcia tej bazy danych.

truncation_lsn odzwierciedla identyfikator bloku dziennika wypełniony zerami. Nie jest to rzeczywisty numer sekwencji dziennika.
last_sent_lsn liczbowe (25 0) Identyfikator bloku dziennika wskazujący punkt, do którego wszystkie bloki dziennika zostały wysłane przez element podstawowy. Jest to identyfikator następnego bloku dziennika, który zostanie wysłany, a nie identyfikator ostatnio wysłanego bloku dziennika.

last_sent_lsn odzwierciedla identyfikator bloku dziennika wypełniony zerami. Nie jest to rzeczywisty numer sekwencji dziennika.
last_sent_time data/godzina Godzina wysłania ostatniego bloku dziennika.
last_received_lsn liczbowe (25 0) Identyfikator bloku dziennika identyfikujący punkt, do którego odebrano wszystkie bloki dziennika przez replikę pomocniczą, która hostuje tę pomocniczą bazę danych.

last_received_lsn odzwierciedla identyfikator bloku dziennika wypełniony zerami. Nie jest to rzeczywisty numer sekwencji dziennika.
last_received_time data/godzina Czas odczytu identyfikatora bloku dziennika w ostatnim odebraniu komunikatu w repliki pomocniczej.
last_hardened_lsn liczbowe (25 0) Początek bloku dziennika zawierającego rekordy dziennika ostatniej wzmocnionej sieci LSN w pomocniczej bazie danych.

W podstawowej bazie danych zatwierdzania asynchronicznego lub w bazie danych zatwierdzania synchronicznego, której bieżące zasady są "delay", wartość ma wartość NULL. W przypadku innych podstawowych baz danych z zatwierdzeniem synchronicznym last_hardened_lsn wskazuje minimalną wartość utwardzonej sieci LSN we wszystkich pomocniczych bazach danych.

Uwaga:last_hardened_lsn odzwierciedla identyfikator bloku dziennika wypełniony zerami. Nie jest to rzeczywisty numer sekwencji dziennika.
last_hardened_time data/godzina W pomocniczej bazie danych czas identyfikatora bloku dziennika dla ostatniej wzmocnionej sieci LSN (last_hardened_lsn). W podstawowej bazie danych odzwierciedlony jest czas odpowiadający minimalnej sieci LSN ze wzmocnionymi zabezpieczeniami.
last_redone_lsn liczbowe (25 0) Rzeczywisty numer sekwencji dziennika ostatniego rekordu dziennika, który został ponownie zapisany w pomocniczej bazie danych. last_redone_lsn zawsze jest mniejsza niż last_hardened_lsn.
last_redone_time data/godzina Godzina ponownego utworzenia ostatniego rekordu dziennika w pomocniczej bazie danych.
log_send_queue_size bigint Ilość rekordów dziennika podstawowej bazy danych, która nie została wysłana do pomocniczych baz danych, w kilobajtach (KB).
log_send_rate bigint Średnia szybkość wysyłania danych przez wystąpienie repliki podstawowej w ostatnim aktywnym okresie w kilobajtach (KB)/sekundach.
redo_queue_size bigint Liczba rekordów dziennika w plikach dziennika repliki pomocniczej, która nie została jeszcze ponownie w kilobajtach (KB).
redo_rate bigint Średnia szybkość, z jaką rekordy dziennika są redone w danej pomocniczej bazie danych, w kilobajtach (KB)/sekundach.

redo_rate jest obliczana przez podzielenie całkowitej liczby bajtów dzienników ponownie od czasu uruchomienia aparatu bazy danych przez przedział czasu, gdy ponowne uruchomienie było aktywne, a nie przez czas, który upłynął. Ponieważ ponowne wykonanie może nie być uruchomione w sposób ciągły, wynikowa wartość może być inna (wyższa) niż wartość licznika wydajności Database Replica:Redone Bytes/sec.
filestream_send_rate bigint Szybkość wysyłania plików FILESTREAM do repliki pomocniczej w kilobajtach (KB)/sekundy.
end_of_log_lsn liczbowe (25 0) Lokalny koniec dziennika LSN. Rzeczywista nazwa LSN odpowiadająca ostatniemu rekordowi dziennika w pamięci podręcznej dzienników w podstawowych i pomocniczych bazach danych. W repliki podstawowej wiersze pomocnicze odzwierciedlają koniec nazwy LSN dziennika z najnowszych komunikatów postępu wysyłanych przez repliki pomocnicze do repliki podstawowej.

end_of_log_lsn odzwierciedla identyfikator bloku dziennika wypełniony zerami. Nie jest to rzeczywisty numer sekwencji dziennika.
last_commit_lsn liczbowe (25 0) Rzeczywisty numer sekwencji dziennika odpowiadający ostatniemu rekordowi zatwierdzenia w dzienniku transakcji.

W podstawowej bazie danych odpowiada to ostatniemu przetworzonemu rekordowi zatwierdzenia. Wiersze pomocniczych baz danych pokazują numer sekwencji dziennika, który replika pomocnicza wysłała do repliki podstawowej.

W repliki pomocniczej jest to ostatni rekord zatwierdzenia, który został ponownie uruchomiony.
last_commit_time data/godzina Czas odpowiadający ostatniemu rekordowi zatwierdzenia.

W pomocniczej bazie danych tym razem jest taka sama jak w podstawowej bazie danych.

W repliki podstawowej każdy wiersz pomocniczej bazy danych wyświetla czas, przez który replika pomocnicza hostuje pomocniczą bazę danych zgłoszoną z powrotem do repliki podstawowej. Różnica czasu między wierszem podstawowej bazy danych a danym wierszem pomocniczej bazy danych reprezentuje w przybliżeniu cel punktu odzyskiwania (RPO), zakładając, że proces ponownego wykonania jest przechwycony i że postęp został zgłoszony z powrotem do repliki podstawowej przez replikę pomocniczą.
low_water_mark_for_ghosts bigint Monotonicznie rosnąca liczba dla bazy danych wskazująca niski znacznik wody używany przez czyszczenie magazynu duchów i trwałych wersji w podstawowej bazie danych. Jeśli obciążenie zapisu jest uruchomione na serwerze podstawowym, ale liczba ta nie zwiększa się wraz z upływem czasu, oznacza to, że czyszczenie magazynu duchów i trwałych wersji może być wstrzymane. Aby zdecydować, które wiersze duchów i które wersje wierszy mają być czyszczone, replika podstawowa używa minimalnej wartości tej kolumny dla tej bazy danych we wszystkich replikach (w tym repliki podstawowej).
secondary_lag_seconds bigint Liczba sekund, przez jaką replika pomocnicza znajduje się za repliką podstawową podczas synchronizacji.

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje.
quorum_commit_lsn liczbowe (25 0) Zidentyfikowane tylko do celów informacyjnych. Nieobsługiwane. Zgodność w przyszłości nie jest gwarantowana.
quorum_commit_time data/godzina Zidentyfikowane tylko do celów informacyjnych. Nieobsługiwane. Zgodność w przyszłości nie jest gwarantowana.

Uprawnienia

Wymaga uprawnienia WYŚWIETL STAN BAZY DANYCH w bazie danych.

Zobacz też