Veri mühendisliği
Temporal, CDC ve Change Tracking
Geçmiş sorgusu ile değişiklik feed’i farklıdır.
Kavramı anlayalım
System-versioned temporal tablo satır sürümlerini history tablosunda tutarak geçmiş zamanı sorgulamayı sağlar. Period sütunları veritabanının yönettiği UTC transaction başlangıç zamanına dayanır; uygulamanın olay tarihiyle aynı olmak zorunda değildir. History boyutu ve saklama politikası planlanır.
CDC işlem logundan değişiklikleri yakalar; önceki/sonraki değerleri ve LSN aralıklarını kullanabilir. Change Tracking hangi anahtarların değiştiğini bildirir; bütün eski değerlerin arşivi değildir. Edition, servis ve sürüm koşullarını kontrol et. Bu özellikler birbirinin tam alternatifi değildir. Incremental tüketici checkpoint, retention ve kaçırılan pencere senaryosunu yönetmelidir. Ders yalnız mevcut özelliklerin durumunu okur; lab’da bunlar varsayılan kapalıdır.
Tarihsel rapor ve incremental entegrasyon ayrımını yapmak için.
Change Tracking’i bütün eski satırları saklayan arşiv sanmak.
Aynı konu. Üç farklı derinlik.
SELECT name, temporal_type_desc FROM sys.tables WHERE schema_id = SCHEMA_ID(N'lab');Lab tablolarının temporal durumunu gösterir.
Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.
Önce kendin dene.
Lab tablolarında CDC tracking durumunu kontrol et.
Çözümü ve açıklamasını göster
SELECT name, is_tracked_by_cdc FROM sys.tables WHERE schema_id = SCHEMA_ID(N'lab');Setup hiçbir değişiklik feed’ini etkinleştirmez; sıfır beklenir.