Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Geeft één rij terug voor elke logscansessie in de huidige database. De laatste rij die wordt teruggegeven, vertegenwoordigt de huidige sessie. Je kunt deze weergave gebruiken om statusinformatie terug te geven over de huidige logscansessie, of geaggregeerde informatie over alle sessies sinds de laatste start van de SQL Server-instantie.
De records worden sys.dm_cdc_log_scan_sessions gereset, telkens wanneer de instantie van SQL Server wordt herstart of nadat er een failover is opgezet. Bovendien, als de geraadpleegde database in de secundaire rol van een Always On-beschikbaarheidsgroep valt, worden er geen records teruggegeven.
Voor meer informatie, bekijk What is change data capture (CDC)?
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
session_id |
int | Id van de sessie. 0 = de data die in deze rij wordt teruggegeven is een aggregate van alle sessies sinds de instantie van SQL Server voor het laatst is gestart. |
| start_time | datetime | Tijd dat de sessie begon. Wanneer session_id = 0, begon de tijdgeaggregeerde gegevensverzameling. |
| end_time | datetime | Tijd dat de sessie eindigde. NULL = sessie is actief. Wanneer session_id = 0, de tijd die de laatste sessie eindigde. |
| duur | int | De duur (in seconden) van de sessie. 0 = de sessie bevat geen wijzigingsgegevensopnames. Wanneer session_id = 0, de som van de duur (in seconden) van alle sessies met wijzigingsdata-opnametransacties. |
| scan_phase | nvarchar(200) | De huidige fase van de sessie. Hieronder volgen de mogelijke waarden en hun beschrijvingen: 1: Leesconfiguratie 2: Eerste scan, hashtabel bouwen 3: Tweede scan 4: Tweede scan 5: Tweede scan 6: Schemaversiebeheer 7: Laatste scan 8: Klaar Wanneer session_id = 0, is deze waarde altijd "Geaggregaat". |
| error_count | int | Aantal aangetroffen fouten. Wanneer session_id = 0, het totale aantal fouten in alle sessies. |
| start_lsn | Nvarchar(23) | Ik begin met LSN voor de sessie. Wanneer session_id = 0, de start-LSN voor de laatste sessie. |
| current_lsn | Nvarchar(23) | Huidige LSN wordt gescand. Wanneer session_id = 0, is de huidige LSN 0. |
| end_lsn | Nvarchar(23) | LSN wordt beëindigd voor de sessie. NULL = sessie is actief. Wanneer session_id = 0, de eind-LSN voor de laatste sessie. |
| tran_count | bigint | Aantal verwerkte transacties voor wijzigingsgegevens. Deze teller wordt bevolkt in fase 2. Wanneer session_id = 0, het aantal verwerkte transacties in alle sessies. |
| last_commit_lsn | Nvarchar(23) | LSN van het laatste commit-logrecord dat is verwerkt. Wanneer session_id = 0, het laatste commit-logrecord LSN voor een sessie. |
| last_commit_time | datetime | Tijd waarop het laatste commit-logrecord is verwerkt. Wanneer session_id = 0, de tijd waarop het laatste commit-logrecord voor een sessie is. |
| log_record_count | bigint | Aantal gescande logrecords. Wanneer session_id = 0, aantal gescande records voor alle sessies. |
| schema_change_count | int | Aantal gedetecteerde data definition language (DDL)-operaties. Deze teller wordt bevolkt in fase 6. Wanneer session_id = 0, het aantal DDL-bewerkingen dat in alle sessies wordt verwerkt. |
| command_count | bigint | Aantal bevelen verwerkt. Wanneer session_id = 0, het aantal commando's dat in alle sessies wordt verwerkt. |
| first_begin_cdc_lsn | Nvarchar(23) | Eerst LSN die change data capture-transacties bevatte. Wanneer session_id = 0, de eerste LSN die wijzigingsgegevensverzamelingstransacties bevatte. |
| last_commit_cdc_lsn | Nvarchar(23) | LSN van het laatste commit-logrecord dat wijzigingsdata-opnametransacties bevatte. Wanneer session_id = 0, het laatste commit-logrecord LSN voor elke sessie die wijzigingsgegevensopnames bevatte |
| last_commit_cdc_time | datetime | Tijd voor het laatste commit-logrecord dat change data capture-transacties bevatte verwerkt. Wanneer session_id = 0, de tijd waarop het laatste commit-logrecord voor elke sessie die wijzigingsgegevensverzamelingstransacties bevatte, was geïnterpreteerd. |
| wachttijd | int | Het verschil, in seconden, tussen end_time en last_commit_cdc_time in de sessie. Deze teller wordt aan het einde van fase 7 bevolkt.Wanneer session_id = 0, de laatste niet-nul latentiewaarde die door een sessie is geregistreerd. |
| empty_scan_count | int | Aantal opeenvolgende sessies die geen wijziging in data-capture transakties bevatten. |
| failed_sessions_count | int | Aantal sessies die mislukten. |
Opmerkingen
De sys.dm_cdc_log_scan_sessions DMV bevat tot 32 scansessies en een geheel van alle scansessies met session_id= 0. Dus op elk moment kan deze dynamische beheerweergave maximaal 33 rijen bevatten.
Permissions
Vereist toestemming VIEW DATABASE STATE om de sys.dm_cdc_log_scan_sessions dynamische beheerweergave te bevragen. Voor meer informatie over machtigingen op dynamische beheerweergaven, zie Dynamische Beheerweergaven en -functies (Transact-SQL).
Machtigingen voor SQL Server 2022 en hoger
Hiervoor is de machtiging VIEW DATABASE PERFORMANCE STATE vereist voor de database.
Voorbeelden
Het volgende voorbeeld geeft informatie voor de meest actuele sessie.
USE AdventureWorks2022;
GO
SELECT session_id, start_time, end_time, duration, scan_phase,
error_count, start_lsn, current_lsn, end_lsn, tran_count,
last_commit_lsn, last_commit_time, log_record_count, schema_change_count,
command_count, first_begin_cdc_lsn, last_commit_cdc_lsn,
last_commit_cdc_time, latency, empty_scan_count, failed_sessions_count
FROM sys.dm_cdc_log_scan_sessions
WHERE session_id = (SELECT MAX(b.session_id) FROM sys.dm_cdc_log_scan_sessions AS b);
GO
Volgende stappen
- sys.dm_cdc_errors (Transact-SQL)
- Wat is change data capture (CDC)?