Delen via


sys.dm_database_replica_states (Azure SQL Database)

van toepassing op:Azure SQL DatabaseAzure SQL Managed Instance-

Retourneert statusinformatie voor elke database die deelneemt aan primaire en secundaire replica's. Retourneert op een secundaire replica één rij voor elke secundaire database op het exemplaar. Retourneert op de primaire replica één rij voor de primaire database en een extra rij voor elke secundaire database.

Belangrijk

Afhankelijk van de actie en statussen op een hoger niveau, zijn databasestatusgegevens mogelijk niet beschikbaar of verouderd. Bovendien hebben de waarden alleen lokale relevantie.

Kolomnaam Gegevenstype Beschrijving (op primaire replica)
database_id Id van de database.

In Azure SQL Database zijn de waarden uniek binnen één database of een elastische pool, maar niet binnen een logische server.
group_id uniqueidentifier- Id van de beschikbaarheidsgroep waartoe de database behoort.
replica_id uniqueidentifier- Id van de beschikbaarheidsreplica binnen de beschikbaarheidsgroep.
group_database_id uniqueidentifier- Id van de database binnen de beschikbaarheidsgroep. Deze id is identiek op elke replica waaraan deze database is gekoppeld.
is_local bit Of de beschikbaarheidsdatabase lokaal is, een van de volgende:

0 = De database is niet lokaal voor het SQL Server-exemplaar.

1 = De database is lokaal voor het serverexemplaren.
is_primary_replica bit Retourneert 1 als de replica primair is of 0 als het een secundaire replica is in de beschikbaarheidsgroep waartoe de database behoort. Dit verwijst niet naar de primaire of secundaire database in een gedistribueerde beschikbaarheidsgroep of een actieve geo-replicatierelatie.

Van toepassing op: SQL Server 2014 (12.x) en latere versies.
synchronization_state kleine Status van gegevensverplaatsing, een van de volgende waarden.

0 = Niet synchroniseren. Voor een primaire database geeft u aan dat de database niet gereed is om het transactielogboek te synchroniseren met de bijbehorende secundaire databases. Voor een secundaire database geeft u aan dat de database geen logboeksynchronisatie heeft gestart vanwege een verbindingsprobleem, wordt onderbroken of overgangsstatussen doorloopt tijdens het opstarten of een functieswitch.

1 = Synchroniseren. Voor een primaire database geeft u aan dat de database gereed is om een scanaanvraag van een secundaire database te accepteren. Voor een secundaire database geeft u aan dat actieve gegevensverplaatsing plaatsvindt voor de database.

2 = Gesynchroniseerd. In een primaire database wordt GESYNCHRONISEERD weergegeven in plaats van SYNCHRONISEREN. Een secundaire database met synchrone doorvoer wordt gesynchroniseerd wanneer in de lokale cache wordt opgegeven dat de database gereed is voor failover en wordt gesynchroniseerd.

3 = Terugdraaien. Geeft de fase in het ongedaan maken aan wanneer een secundaire database actief pagina's ophaalt uit de primaire database.

Belangrijk: Wanneer een database op een secundaire replica de status HERSTELLEN heeft, blijft de database in een toestand waarin deze niet kan worden gestart als primaire database, wanneer failover naar de secundaire replica wordt afgedwongen. De database moet opnieuw verbinding maken als een secundaire database of u moet nieuwe logboekrecords toepassen vanuit een logboekback-up.

4 = Initialiseren. Geeft de fase van ongedaan maken aan wanneer het transactielogboek dat is vereist voor een secundaire database om de ongedaan maken LSN in te halen, wordt verzonden en beveiligd op een secundaire replica.

Belangrijk: Wanneer een database op een secundaire replica de status INITIALISEREN heeft, blijft de database in een toestand waarin de database niet kan worden gestart als een primaire database. De database moet opnieuw verbinding maken als een secundaire database of u moet nieuwe logboekrecords toepassen vanuit een logboekback-up.
synchronization_state_desc nvarchar(60) Beschrijving van de status van gegevensverplaatsing, een van:

- NIET SYNCHRONISEREN
-SYNCHRONISEREN
-GESYNCHRONISEERD
-TERUGKEREN
-INITIALISEREN
is_commit_participant bit 0 = Transactiedoorvoering wordt niet gesynchroniseerd met betrekking tot deze database.

1 = Transactiedoorvoering wordt gesynchroniseerd met betrekking tot deze database.

Voor een database op een asynchrone doorvoerbeschikbaarheidsreplica is deze waarde altijd 0.

Voor een database op een synchrone doorvoerbeschikbaarheidsreplica is deze waarde alleen nauwkeurig voor de primaire database.
synchronization_health kleine Geeft het snijpunt weer van de synchronisatiestatus van een database die is gekoppeld aan de beschikbaarheidsgroep op de beschikbaarheidsreplica en de beschikbaarheidsmodus van de beschikbaarheidsreplica (synchrone doorvoer- of asynchrone doorvoermodus), een van de volgende waarden.

0 = Niet in orde. De synchronization_state van de database is 0 (NIET SYNCHROON).

1 = Gedeeltelijk gezond. Een database op een synchrone doorvoerbeschikbaarheidsreplica wordt als gedeeltelijk in orde beschouwd als synchronization_state 1 is (SYNCHROON).

2 = In orde. Een database op een synchrone doorvoerbeschikbaarheidsreplica wordt als in orde beschouwd als synchronization_state 2 (GESYNCHRONISEERD) is en een database op een asynchrone doorvoerbeschikbaarheidsreplica als in orde wordt beschouwd als synchronization_state 1 is (SYNCHROON).
synchronization_health_desc nvarchar(60) Beschrijving van de synchronization_health van de beschikbaarheidsdatabase.

- NOT_HEALTHY
- PARTIALLY_HEALTHY
-GEZOND
database_state kleine 0 = Online
1 = Herstellen
2 = Herstellen
3 = Herstel in behandeling
4 = Verdachte
5 = Noodgeval
6 = Offline

Opmerking: hetzelfde als de kolom state in sys.databases.
database_state_desc nvarchar(60) Beschrijving van de database_state van de beschikbaarheidsreplica.

-ONLINE
-HERSTELLEN
-HERSTELLEN
- RECOVERY_PENDING
-VERDENKEN
-NOODSITUATIE
-OFFLINE

Opmerking: hetzelfde als de kolom state_desc in sys.databases.
is_suspended bit Databasestatus, een van de volgende:

0 = Hervat
1 = Onderbroken
suspend_reason kleine Als de database is onderbroken, is de reden voor de onderbroken status een van de volgende:

0 = Gebruikersactie
1 = Onderbreken van partner
2 = Opnieuw
3 = Vastleggen
4 = Toepassen
5 = Opnieuw opstarten
6 = Ongedaan maken
7 = Opnieuwvalidatie
8 = Fout in de berekening van het synchronisatiepunt secundaire replica
suspend_reason_desc nvarchar(60) Beschrijving van de reden van de onderbroken status van de database, een van:

SUSPEND_FROM_USER = Een gebruiker heeft de gegevensverplaatsing handmatig opgeschort

SUSPEND_FROM_PARTNER = De databasereplica wordt onderbroken na een geforceerde failover

SUSPEND_FROM_REDO = Er is een fout opgetreden tijdens de herfase

SUSPEND_FROM_APPLY = Er is een fout opgetreden bij het schrijven van het logboek naar bestand (zie foutenlogboek)

SUSPEND_FROM_CAPTURE = Er is een fout opgetreden tijdens het vastleggen van logboeken op de primaire replica

SUSPEND_FROM_RESTART = De databasereplica is onderbroken voordat de database opnieuw werd opgestart (zie het foutenlogboek)

SUSPEND_FROM_UNDO = Er is een fout opgetreden tijdens de fase ongedaan maken (zie foutenlogboek)

SUSPEND_FROM_REVALIDATION = Logboekwijziging komt niet overeen bij opnieuw verbinden (zie foutenlogboek)

SUSPEND_FROM_XRF_UPDATE = Kan het algemene logboekpunt niet vinden (zie foutenlogboek)
recovery_lsn numeriek(25,0) Op de primaire replica schrijft het einde van het transactielogboek voordat de primaire database nieuwe logboekrecords schrijft na herstel of failover. Als voor een bepaalde secundaire database deze waarde kleiner is dan de huidige geharde LSN (last_hardened_lsn), is recovery_lsn de waarde waarnaar deze secundaire database opnieuw moet synchroniseren (dat wil gezegd, om terug te keren naar en opnieuw te initialiseren). Als deze waarde groter is dan of gelijk is aan de huidige geharde LSN, is hersynchronisatie niet nodig en zou het niet gebeuren.

recovery_lsn weerspiegelt een logboekblok-id die is opgevuld met nullen. Het is geen werkelijk logboekreeksnummer (LSN).
truncation_lsn numeriek(25,0) Op de primaire replica geeft voor de primaire database de minimale afkapping van logboeken weer voor alle bijbehorende secundaire databases. Als het afkappen van lokale logboeken wordt geblokkeerd (bijvoorbeeld door een back-upbewerking), is deze LSN mogelijk hoger dan de lokale afkappingSN.

Voor een bepaalde secundaire database wordt het afkappingspunt van die database weergegeven.

truncation_lsn een logboekblok-id weerspiegelt die is opgevuld met nullen. Het is geen werkelijk volgnummer voor logboeken.
last_sent_lsn numeriek(25,0) De logboekblok-id die het punt aangeeft waartoe alle logboekblokken zijn verzonden door de primaire. Dit is de id van het volgende logboekblok dat wordt verzonden, in plaats van de id van het laatst verzonden logboekblok.

last_sent_lsn weerspiegelt een logboekblok-id die is opgevuld met nullen. Het is geen werkelijk volgnummer voor logboeken.
last_sent_time datum/tijd- Tijdstip waarop het laatste logboekblok is verzonden.
last_received_lsn numeriek(25,0) Logboekblok-id die het punt aangeeft waartoe alle logboekblokken zijn ontvangen door de secundaire replica die als host fungeert voor deze secundaire database.

last_received_lsn weerspiegelt een logboekblok-id die is opgevuld met nullen. Het is geen werkelijk volgnummer voor logboeken.
last_received_time datum/tijd- De tijd waarop de logboekblok-id in het laatste ontvangen bericht is gelezen op de secundaire replica.
last_hardened_lsn numeriek(25,0) Begin van het logboekblok met de logboekrecords van de laatste beperkte LSN op een secundaire database.

Op een asynchrone primaire database of in een synchrone doorvoerdatabase waarvan het huidige beleid vertraging is, is de waarde NULL. Voor andere synchrone primaire databases geeft last_hardened_lsn het minimum aan van de beperkte LSN voor alle secundaire databases.

Opmerking:last_hardened_lsn een logboekblok-id weerspiegelt die is opgevuld met nullen. Het is geen werkelijk volgnummer voor logboeken.
last_hardened_time datum/tijd- Op een secundaire database, de tijd van de logboekblok-id voor de laatst beperkte LSN (last_hardened_lsn). In een primaire database geeft u de tijd weer die overeenkomt met minimaal beperkte LSN.
last_redone_lsn numeriek(25,0) Het werkelijke logboekvolgordenummer van de laatste logboekrecord die opnieuw is uitgevoerd op de secundaire database. last_redone_lsn is altijd minder dan last_hardened_lsn.
last_redone_time datum/tijd- Tijdstip waarop de laatste logboekrecord opnieuw is uitgevoerd op de secundaire database.
log_send_queue_size grote De hoeveelheid logboekrecords van de primaire database die niet naar de secundaire databases is verzonden, in kilobytes (KB).
log_send_rate grote Gemiddelde snelheid waarmee het primaire replica-exemplaar gegevens heeft verzonden tijdens de laatste actieve periode, in kilobytes (KB)/seconde.
redo_queue_size grote De hoeveelheid logboekrecords in de logboekbestanden van de secundaire replica die nog niet opnieuw is uitgevoerd, in kilobytes (KB).
redo_rate grote Gemiddelde snelheid waarmee de logboekrecords opnieuw worden uitgevoerd op een bepaalde secundaire database, in kilobytes (KB)/seconde.

redo_rate wordt berekend door het totale aantal logboekbytes opnieuw te delen sinds het opstarten van de database-engine met de tijdsduur waarop de hero actief werd uitgevoerd, in plaats van door de verstreken tijd. Omdat opnieuw uitvoeren mogelijk niet continu wordt uitgevoerd, kan de resulterende waarde afwijken (hoger) dan de waarde van Database Replica:Redone Bytes/sec prestatiemeteritem.
filestream_send_rate grote De snelheid waarmee de FILESTREAM-bestanden naar de secundaire replica worden verzonden, in kilobytes (KB)/seconde.
end_of_log_lsn numeriek(25,0) Lokaal einde van logboek LSN. Werkelijke LSN die overeenkomt met de laatste logboekrecord in de logboekcache op de primaire en secundaire databases. Op de primaire replica geven de secundaire rijen het einde van de logboek-LSN weer van de meest recente voortgangsberichten die de secundaire replica's naar de primaire replica hebben verzonden.

end_of_log_lsn weerspiegelt een logboekblok-id die is opgevuld met nullen. Het is geen werkelijk volgnummer voor logboeken.
last_commit_lsn numeriek(25,0) Het werkelijke volgnummer van het logboek dat overeenkomt met de laatste doorvoerrecord in het transactielogboek.

In de primaire database komt dit overeen met de laatste doorvoeringsrecord die is verwerkt. Rijen voor secundaire databases geven het logboekvolgordenummer weer dat de secundaire replica naar de primaire replica heeft verzonden.

Op de secundaire replica is dit de laatste doorvoerrecord die opnieuw is uitgevoerd.
last_commit_time datum/tijd- Tijd die overeenkomt met de laatste doorvoerrecord.

In de secundaire database is dit keer hetzelfde als in de primaire database.

Op de primaire replica geeft elke secundaire databaserij de tijd weer waarop de secundaire replica die als host fungeert voor de secundaire database, terug heeft gerapporteerd aan de primaire replica. Het verschil in tijd tussen de rij van de primaire database en een bepaalde secundaire databaserij vertegenwoordigt ongeveer het beoogde herstelpunt (RPO), ervan uitgaande dat het hero-proces wordt opgevangen en dat de voortgang door de secundaire replica is gerapporteerd aan de primaire replica.
low_water_mark_for_ghosts grote Een monotonisch toenemend aantal voor de database dat aangeeft dat een laag watermarkering wordt gebruikt door ghost en permanente versieopslag opschonen op de primaire database. Als een schrijfworkload wordt uitgevoerd op de primaire, maar dit aantal na verloop van tijd niet toeneemt, betekent dit dat ghost- en permanente versieopslagopruiming mogelijk worden opgeslagen. Als u wilt bepalen welke spookrijen en welke rijversies moeten worden opgeschoond, gebruikt de primaire replica de minimumwaarde van deze kolom voor deze database voor alle replica's (inclusief de primaire replica).
secondary_lag_seconds grote Het aantal seconden dat de secundaire replica zich achter de primaire replica bevindt tijdens de synchronisatie.

van toepassing op: SQL Server 2016 (13.x) en latere versies.
quorum_commit_lsn numeriek(25,0) Alleen ter informatie geïdentificeerd. Niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
quorum_commit_time datum/tijd- Alleen ter informatie geïdentificeerd. Niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.

Machtigingen

Vereist de machtiging VIEW DATABASE STATE voor de database.

Zie ook