Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar en rad för varje loggskanningssession i den aktuella databasen. Den sista raden som returneras representerar den aktuella sessionen. Du kan använda denna vy för att returnera statusinformation om den aktuella loggskanningssessionen, eller aggregerad information om alla sessioner sedan SQL Server-instansen senast startades.
Posterna i sys.dm_cdc_log_scan_sessions återställs varje gång SQL Server-instansen startas om eller efter att en failover inträffat. Dessutom, om den frågade databasen har den sekundära rollen som en Always On-tillgänglighetsgrupp, returneras inga poster.
För mer information, se What is change data capture (CDC)?
| Kolumnnamn | Datatyp | Description |
|---|---|---|
session_id |
int | ID för sessionen. 0 = datan som returneras i denna rad är en aggregerad av alla sessioner sedan SQL Server-instansen senast startades. |
| start_time | datetime | Tiden för sessionen började. När session_id = 0 började den tidsaggregerade datainsamlingen. |
| end_time | datetime | Tiden för sessionen slutade. NULL = sessionen är aktiv. När session_id = 0, tiden den senaste sessionen slutade. |
| varaktighet | int | Längden (i sekunder) av sessionen. 0 = sessionen innehåller inte transaktioner för insamling av förändringsdata. När session_id = 0, summan av varaktigheten (i sekunder) för alla sessioner med transaktioner för förändringsdatainsamling. |
| scan_phase | nvarchar(200) | Den aktuella fasen av sessionen. Följande är möjliga värden och deras beskrivningar: 1: Läskonfiguration 2: Första skanningen, bygger hashtabell 3: Andra skanningen 4: Andra skanningen 5: Andra skanningen 6: Schemaversionering 7: Sista skanningen 8: Klart När session_id = 0 är detta värde alltid "Aggregerat". |
| error_count | int | Antal fel som påträffas. När session_id = 0, det totala antalet fel i alla sessioner. |
| start_lsn | Nvarchar(23) | Startar LSN för sessionen. När session_id = 0, start-LSN för sista sessionen. |
| current_lsn | Nvarchar(23) | Nuvarande LSN scannas. När session_id = 0 är den aktuella LSN 0. |
| end_lsn | Nvarchar(23) | LSN avslutas för sessionen. NULL = sessionen är aktiv. När session_id = 0, det avslutande LSN för den senaste sessionen. |
| tran_count | bigint | Antal transaktioner med förändringsdatainsamling som behandlas. Denna räknare är befolkad i fas 2. När session_id = 0, antalet bearbetade transaktioner i alla sessioner. |
| last_commit_lsn | Nvarchar(23) | LSN för den senaste commit-loggposten som behandlades. När session_id = 0, den senaste commit-loggposten LSN för en session. |
| last_commit_time | datetime | Tid då den senaste commit-loggposten behandlades. När session_id = 0, tiden för den senaste commit-loggposten för en session. |
| log_record_count | bigint | Antal skannade loggposter. När session_id = 0, antal skannade poster för alla sessioner. |
| schema_change_count | int | Antal upptäckta data definition language (DDL)-operationer. Denna räknare fylls i fas 6. När session_id = 0, antalet DDL-operationer som bearbetas i alla sessioner. |
| command_count | bigint | Antal bearbetade kommandon. När session_id = 0, antalet bearbetade kommandon i alla sessioner. |
| first_begin_cdc_lsn | Nvarchar(23) | Först LSN som innehöll transaktioner för insamling av förändringsdata. När session_id = 0, den första LSN som innehöll transaktioner för förändringsdatainsamling. |
| last_commit_cdc_lsn | Nvarchar(23) | LSN för den senaste commit-loggposten som innehöll transaktioner för insamling av förändringsdata. När session_id = 0, den senaste commit-loggposten LSN för varje session som innehöll transaktioner med förändringsdatainsamling |
| last_commit_cdc_time | datetime | Tid för den senaste commit-loggposten som innehöll transaktioner för insamling av förändringsdata. När session_id = 0, tiden för den senaste commit-loggposten för varje session som innehöll transaktioner med förändringsdatainsamling. |
| Latens | int | Skillnaden, i sekunder, mellan end_time och last_commit_cdc_time under sessionen. Denna räknare fylls i slutet av fas 7.När session_id = 0, det senaste icke-noll latensvärdet som registreras av en session. |
| empty_scan_count | int | Antal på varandra följande sessioner som innehöll datainsamlingstransaktioner utan förändring. |
| failed_sessions_count | int | Antal sessioner som misslyckades. |
Anmärkningar
sys.dm_cdc_log_scan_sessions DMV innehåller upp till 32 skanningssessioner och en summa av alla skanningssessioner med session_id= 0. Så vid varje given tidpunkt kan denna dynamiska hanteringsvy innehålla maximalt 33 rader.
Permissions
Kräver behörighet VIEW DATABASE STATE för att söka i den dynamiska sys.dm_cdc_log_scan_sessions hanteringsvyn. För mer information om behörigheter för dynamiska hanteringsvyer, se Dynamiska hanteringsvyer och funktioner (Transact-SQL).
Behörigheter för SQL Server 2022 och senare
Kräver behörigheten VISA DATABASPRESTANDATILLSTÅND för databasen.
Examples
Följande exempel ger information för den senaste sessionen.
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