Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Mevcut veritabanındaki her log tarama oturumu için bir satır döndürür. Son satır mevcut oturumu temsil eder. Bu görünümü, mevcut log tarama oturumunun durum bilgilerini veya SQL Server örneği en son başlatıldığından beri tüm oturumların toplu bilgilerini döndürmek için kullanabilirsiniz.
SQL Server örneği yeniden başlatıldığında veya bir failover gerçekleştiğinde kayıtlar sys.dm_cdc_log_scan_sessions sıfırlanır. Ayrıca, sorgulanan veritabanı Always On erişilebilirlik grubunun ikincil rolündeyse, kayıt geri dönmez.
Daha fazla bilgi için, değişiklik veri yakalama (CDC) nedir diye inceleyin.
| Sütun adı | Veri türü | Description |
|---|---|---|
session_id |
int | Oturumun kimliği. 0 = bu satırda geri dönen veri, SQL Server örneği son başlatıldığından beri tüm oturumların toplamıdır. |
| start_time | datetime | Oturumun başlama zamanı geldi. = 0 olduğunda session_id , zaman toplamında veri toplama başlar. |
| end_time | datetime | Seansın bitme zamanı. NULL = oturum aktif. Ne session_id zaman = 0, son oturumun bittiği zaman. |
| süre | int | Seansın süresi (saniyeler cinsinden). 0 = oturumda değişiklik veri yakalama işlemleri içermez. Ne session_id zaman = 0, değişim veri yakalama işlemleriyle tüm oturumların süresinin (saniye cinsinden) toplamı. |
| scan_phase | nvarchar(200) | Oturumun mevcut aşaması. Olası değerler ve açıklamaları aşağıda verilmiştir: 1: Okuma yapılandırması 2: İlk tarama, hash tablosu oluşturma 3: İkinci tarama 4: İkinci tarama 5: İkinci tarama 6: Şema versiyonu 7: Son tarama 8: Bitti session_id = 0 olduğunda, bu değer her zaman "Toplam" olur. |
| error_count | int | Karşılaşılan hata sayısı. Ne session_id zaman = 0, tüm oturumlardaki toplam hata sayısı. |
| start_lsn | nvarchar(23) | Seans için LSN başlatıyorum. Ne session_id = 0 olursa, son oturumun başlangıç LSN'si. |
| current_lsn | nvarchar(23) | Mevcut LSN taranıyor.session_id = 0 olduğunda, mevcut LSN 0'dır. |
| end_lsn | nvarchar(23) | Oturum için LSN'i bitiriyor. NULL = oturum aktif. When session_id = 0, son oturumun son LSN'si. |
| tran_count | bigint | İşlenen değişiklik veri yakalama işlemlerinin sayısı. Bu sayaç faz 2'de doldurulur. Ne session_id = 0 olursa, tüm oturumlarda işlenen işlem sayısı. |
| last_commit_lsn | nvarchar(23) | İşlenen son commit log kaydının LSN'si. Eğer session_id = 0, herhangi bir oturum için LSN son commit log kaydıdır. |
| last_commit_time | datetime | Son commit log kaydının işlendiği zaman. Ne session_id = 0 olursa, herhangi bir oturum için son commit log kaydının gerçekleştiği zaman. |
| log_record_count | bigint | Taranan kayıt sayısı. Ne session_id = 0 olursa, tüm oturumlar için taranan kayıt sayısı. |
| schema_change_count | int | Tespit edilen veri tanımı dili (DDL) operasyonlarının sayısı. Bu sayaç 6. aşamada doldurulmuştur. Ne session_id = 0 olursa, tüm oturumlarda işlenen DDL işlemlerinin sayısı. |
| command_count | bigint | İşlenen komut sayısı. = session_id 0 olduğunda, tüm oturumlarda işlenen komut sayısı. |
| first_begin_cdc_lsn | nvarchar(23) | İlk olarak değişim veri yakalama işlemlerini içeren LSN. = session_id 0 olduğunda, değişim veri yakalama işlemlerini içeren ilk LSN. |
| last_commit_cdc_lsn | nvarchar(23) | Değişiklik veri yakalama işlemlerini içeren son commit log kaydının LSN'si. = session_id 0 olduğunda, değişiklik veri yakalama işlemlerini içeren herhangi bir oturum için son commit log kaydı LSN |
| last_commit_cdc_time | datetime | Değişiklik veri yakalama işlemlerini içeren son commit log kaydının işlendiği zaman. Ne session_id = 0 olursa, değişiklik veri yakalama işlemlerini içeren herhangi bir oturum için son commit log kaydının zamanı. |
| Gecikme | int | Seans arasındaki ve saniye end_timelast_commit_cdc_time farkı. Bu sayaç, 7. aşamanın sonunda doldurulur.Ne session_id zaman = 0, bir oturum tarafından kaydedilen son sıfır olmayan gecikme değeri. |
| empty_scan_count | int | Değişiklik veri yakalama işlemleri içermeyen ardışık oturum sayısı. |
| failed_sessions_count | int | Başarısız olan seans sayısı. |
Açıklamalar
DMV, sys.dm_cdc_log_scan_sessions 32 tarama oturumuna kadar ve tüm tarama oturumlarının toplamını içerir.session_id= 0 Yani, herhangi bir zamanda bu dinamik yönetim görünümü maksimum 33 satır içerebilir.
Permissions
Dinamik yönetim görünümünü sys.dm_cdc_log_scan_sessions sorgulamak için VIEW DATABASE STATE izni gerektirir. Dinamik yönetim görünümlerindeki izinler hakkında daha fazla bilgi için Dinamik Yönetim Görünümleri ve Fonksiyonları (Transact-SQL) bölümüne bakınız.
SQL Server 2022 ve üzeri için izinler
Veritabanında VERITABANı PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.
Örnekler
Aşağıdaki örnek en güncel oturumun bilgilerini geri döndürür.
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