Durum Değişkeni Tanımlama

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı

Important

CDC Denetim Görevi, CDC Kaynağı ve CDC Bölücü de dahil olmak üzere CDC Akış Bileşenleri kullanım dışıdır. Ayrıntılar için duyurubakın.

Bu prosedür, CDC durumunun saklandığı bir paket değişkeninin nasıl tanımlanacağını açıklar.

CDC durum değişkeni, CDC Kontrol görevi tarafından yüklenir, başlatılır ve güncellenir ve CDC Source veri akışı bileşeni tarafından değişiklik kayıtları için mevcut işlem aralığını belirlemek için kullanılır. CDC durum değişkeni, CDC Control görevi ve CDC kaynağına ortak olan herhangi bir konteyner üzerinde tanımlanabilir. Bu paket seviyesinde olabilir, ancak döngü konteyner gibi diğer konteynerlerde de olabilir.

CDC durum değişkeni değerini manuel olarak değiştirmek önerilmese, içeriğini anlamak faydalı olabilir.

Aşağıdaki tablo, CDC durum değişkeni değerinin bileşenlerinin yüksek düzeyde tanımını sunmaktadır.

Bileşen Description
<Eyalet adı> Bu, mevcut CDC eyaletinin adıdır.
CS Bu, mevcut işlem aralığı başlangıç noktasını (Güncel Başlangıç) işaret eder.
<cs-lsn> Bu, önceki CDC çalışmasında işlenen son (Log Sequence Number) LSN'dir.
CE Bu, mevcut işlem aralığı uç noktasını (Güncel Uç) işaret eder. CE bileşeninin CDC durumunda bulunması, ya bir CDC paketinin şu anda işlendiğini ya da CDC paketinin CDC işlem aralığı tam olarak işlemeden önce arızalandığını gösterir.
<ce-lsn> Bu, mevcut CDC Döneminde işlenen son LSN'dir. Her zaman işlenen son dizi numarasının maksimum (0xFFF...) olduğu varsayılır.
IR Bu, ilk işlem alanını işaret eder.
<ir-start> Bu, ilk yük başlamadan hemen önce yapılan bir LSN değişikliğidir.
<ir-end> Bu, ilk yük bittikten hemen sonra yapılan bir LSN değişikliğidir.
TS Bu, son CDC eyalet güncellemesinin zaman damgasını işaret ediyor.
<zaman damgası> Bu, 64-bitlik System.DateTime.UtcNow özelliğinin ondalık bir temsilidir.
ER Bu, son işlemin başarısız olmasıyla ortaya çıkar ve hata nedeninin kısa bir açıklamasını içerir. Bu bileşen varsa, her zaman en son görünür.
<kısa-hata-metin> İşte kısa hata açıklaması.

LSN'ler ve dizi numaraları, Binary(10)'un LSN değerini temsil eden 20 rakamlı onaltılık bir dizi olarak kodlanır.

Aşağıdaki tablo, olası CDC durum değerlerini açıklar.

State Description
(İLK BAŞ) Bu, mevcut CDC grubunda herhangi bir paketin çalıştırılmadan önceki ilk durumdur. CdC durumu boş olduğunda da durum budur.
ILSTART (İlk Yükleme Başlatıldı) Bu, ilk yükleme paketinin başladığı zaman, CDC Kontrol görevine MarkInitialLoadStart işlem çağrısından sonra yaşanan durumdur.
ILEND (İlk Yük Sona Erdi) Bu, CDC Kontrol görevine MarkInitialLoadEnd işlem çağrısından sonra ilk yükleme paketinin başarıyla sona erdiği durumdur.
ILUPDATE (İlk Yükleme Güncellemesi) Bu, ilk yüklemeden sonra damla besleme güncelleme paketinin çalışmalarında, ancak ilk işlem aralığı işlenirken yaşanan durumdur. Bu, CDC Kontrol görevine GetProcessingRange işlem çağrısından sonra gerçekleşir.

__$reprocessing sütunu kullanılıyorsa, paketin hedefte zaten satırları yeniden işliyor olabileceğini göstermek için 1 olarak ayarlanır.
TFEND (Trickle-Feed güncellemesi sona erdi) Bu, normal CDC çalıştırmaları için beklenen durumdur. Önceki çalıştırmanın başarıyla tamamlandığını ve yeni işleme aralığına sahip yeni bir çalıştırma başlatılabildiğini gösterir.
TFSTART Bu, damla besleme güncelleme paketinin ilk dışı çalıştırmasında, CDC Kontrol görevine GetProcessingRange işlem çağrısından sonra verilen durumdur.

Bu, normal bir CDC çalışmasının başladığını ancak henüz tamamlanmadığını veya henüz tamamlanmadığını (MarkProcessedRange) gösterir.
TFREDO (Yeniden İşleme Trickle-Feed Güncellemeler) Bu, TFSTART sonrasında oluşan GetProcessingRange durumudur. Bu, önceki dönemin başarılı bir şekilde tamamlanmadığını gösteriyor.

__$reprocessing sütunu kullanılıyorsa, paketin hedefte zaten satırları yeniden işliyor olabileceğini göstermek için 1 olarak ayarlanır.
ERROR CDC grubu hata durumunda.

Aşağıda CDC durum değişkeni değerlerine örnekler verilmiştir.

  • ILSTART/IR/0x0000162B158700000000//TS/2011-08-07T17:10:43.0031645/

  • ILSTART/IR/0x0000162B158700000000//TS/2011-08-07T17:10:43.0031645/

  • TFEND/CS/0x0000025B000001BC0003/TS/2011-07-17T12:05:58.1001145/

  • TFSTART/CS/0x0000030D000000AE0003/CE/0x0000159D1E0F01000000/TS/2011-08-09T05:30:43.9344900/

  • TFREDO/CS/0x0000030D000000AE0003/CE/0x0000159D1E0F01000000/TS/2011-08-09T05:30:59.5544900/

Bir CDC durum değişkenini tanımlamak için

  1. SQL Server Veri Araçları'ta, değişkeni tanımlamanız gereken CDC akışını içeren SQL Server 2019 Integration Services (SSIS) paketini açın.

  2. Package Explorer sekmesini seçin ve yeni bir değişken ekleyin.

  3. Değişkene, durum değişkeniniz olarak tanıyabileceğiniz bir isim verin.

  4. Değişkene bir String veri türü verin.

Değişkene tanımının bir parçası olarak değer vermeyin. Değer, CDC Kontrol görevi tarafından belirlenmelidir.

CDC Control görevini Otomatik Durum Sürekliliği ile kullanmayı planlıyorsanız, CDC Durum değişkeni belirlediğiniz veritabanı durum tablosundan okunur ve değeri değiştiğinde aynı tabloya geri güncellenir. Durum tablosu hakkında daha fazla bilgi için CDC Kontrol Görevi ve CDC Kontrol Görev Editörü bölümlerine bakınız.

Otomatik Durum Sürekliliği ile CDC Control görevini kullanmıyorsanız, değişken değerini paketin son çalıştığında kaydedilen kalıcı depolamadan yüklemeli ve mevcut işlem aralığı işlemi tamamlandığında tekrar kalıcı depolamaya yazmalısınız.