Aracılığıyla paylaş


CDC Akış Bileşenleri

Şunlar için geçerlidir:SQL Server, Azure Data Factory'de SSIS Integration Runtime

Önemli

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.

Microsoft SQL Server 2019 Integration Services (SSIS) için Attunity'nin Değişiklik Verisi Yakalama Bileşenleri, SSIS geliştiricilerinin CDC ile çalışmalarını destekler ve CDC paketlerinin karmaşıklığını azaltır.

SSIS CDC bileşenleri, kaynak tabloların aynı SQL Server veritabanı veya Oracle veritabanı olduğu SQL Server CDC özelliğiyle çalışacak şekilde tasarlanmıştır (SQL Server için Oracle CDC Hizmeti kullanılırken). Bölümlenmiş tablolar desteklenir.

Bileşenler arasında, SSIS paketlerindeki değişiklik verilerini okuma ve işleme deneyimini kolaylaştıran Denetim ve Veri Akışı bileşenleri yer alır. Bileşenler Microsoft SQL Server'daki bileşen kitaplığına eklenebilir, ancak ayrı olarak yüklenir.

Aşağıda, Attunity tarafından sağlanan Değişiklik Verilerini Yakalama Bileşenleri yer almaktadır:

CDC Denetim Akışı Bileşeni

CDC Denetim Görevi

CDC Veri Akışı Bileşenleri:

CDC Kaynağı

CDC Bölücü

Yükleme

Bu bölümde, Microsoft SQL Server 2019 Integration Services (SSIS) için CDC Bileşenleri için yükleme yordamları açıklanmaktadır.

SSIS için CDC Bileşenleri, Oracle için Attunity tarafından sağlanan SQL Server için Microsoft Change Data Capture Designer ve Service paketiyle birlikte gelir. Bu indirme, SQL Server Özellik Paketi'nin bir parçasıdır. özellik paketinin bileşenlerini SQL Server 2016 Özellik Paketi web sayfasındanindirin.

Sürüm Desteği

SQL Server sürüm desteği

SSIS için CDC bileşenleri, Microsoft SQL Server'ın desteklenen tüm sürümlerinde desteklenir. Şu anda SQL Server'ın desteklenen sürümleri SQL Server 2012 ile SQL Server 2017 arasındadır.

İşletim sistemi sürümü desteği

SSIS için CDC bileşenleri aşağıdaki işletim sistemlerinde ve platformlarda desteklenir:

  • Windows 8 ve 8.1
  • Windows 10
  • Windows Server 2012 ve 2012 R2
  • Windows Server 2016

Yükleme Programını Çalıştırma

Yükleme sihirbazını çalıştırmadan önce SQL Server SQL Server Veri Araçları'nın kapalı olduğundan emin olun. Ardından yükleme sihirbazındaki yönergeleri izleyin.

SSIS Hizmetini Yeniden Başlat

CDC bileşenlerini yükledikten sonra, SQL SQL Server Veri Araçları'nda paketler geliştirirken bileşenlerin düzgün çalıştığından emin olmak için SSIS hizmetini yeniden başlatmanız gerekir.

Bileşenleri yükledikten sonra bir ileti görüntülenir. İstendiğinde Evet Tıklayın.

Microsoft CDC Bileşenlerini Kaldırma

Kaldırma sihirbazını kullanarak CDC kaynağını, CDC bölücüyü veya CDC Kontrol görevini kaldırırsınız. Paket geliştirme için SQL Server SQL Server Veri Araçları'nı kullanıyorsanız, kaldırma sihirbazını çalıştırmadan önce SQL Server Veri Araçları'nın kapalı olduğundan emin olun.

Fayda -ları

SQL Server Integration Services bileşenleri için CDC Bileşenleri, SSIS geliştiricilerinin değişiklik verilerini işleyen SSIS paketlerini kolayca oluşturmasına olanak sağlar. Bu bileşenler, SSIS geliştiricilerinin CDC ile başa çıkma ve CDC paketlerinin karmaşıklığını azaltma becerisini geliştirir.

SSIS CDC bileşenleri, değişiklik verilerini çoğaltma, veri ambarı yükleme, OLAP için yavaş değişen boyutları güncelleştirme, değişiklikleri denetleme veya diğer olası kullanımlar için daha kolay bir şekilde sağlamak için kullanılır. Kullanılan daha fazla işleme türü SSIS geliştiricisi tarafından belirlenir.

SSIS CDC bileşenleri, aynı SQL Server veritabanındaki değişiklik tablolarıyla SQL Server CDC özelliğiyle çalışacak şekilde tasarlanmıştır.

Değişiklik Veri Yakalama Bileşenlerini Kullanmaya Başlama

Tipik bir CDC paketi, bir tablo grubundaki değişiklikleri işler. Bu tür CDC paketinin temel denetim akışı bölümü aşağıdaki şekilde gösterilmiştir. Bu paket, damla beslemeli işleme paketi olarak adlandırılır.

Karmaşık Akış İşleme Paketi Denetim Akışı

Bu SQL Server Integration Services Denetim Akışı iki CDC Denetim Görevi ve Veri Akışı görevi içerir. Get CDC Processing Range adlı ilk görev, İşlem Değişiklikleriadlı veri akışı görevinde işlenen değişiklikler için LSN aralığını oluşturur. Bu aralık, son paket çalıştırması sırasında işlenenlere göre oluşturulur ve kalıcı bir depoya kaydedilir.

CDC Denetim Görevi'ni kullanma hakkında daha fazla bilgi için bkz. CDC Denetim Görevi ve CDC Denetim Görevi Düzenleyicisi.

Aşağıdaki şekilde, İşlem Değişiklikleri veri akışının, değişikliklerin kavramsal olarak nasıl işlendiğini gösterdiği görülmektedir.

işleme değişiklikleri veri akışı

Bu şekilde gösterilen adımlar şunlardır:

  • Tablo X için Değişiklikleri, üst denetim akışında belirlenen CDC işlem aralığında yapılan X tablosunda yapılan değişiklikleri okuyan bir CDC kaynağıdır.

  • CDC Splitter X, değişiklikleri eklemelere, silmelere ve güncelleştirmelere bölmek için kullanılır. Bu senaryoda, CDC Kaynağı'nın, farklı değişiklik türlerinin paralel olarak işlenebilmesi için Net değişiklikleri üretecek şekilde yapılandırıldığı varsayılır.

  • Belirli değişiklikler daha sonra aşağı akışa işlenir. Bu çizimde, değişiklikler birden çok ODBC Hedefi kullanılarak tablolara eklenir, ancak gerçek durumlarda işleme farklı olabilir.

CDC Kaynağı hakkında daha fazla bilgi için bkz:

CDC Kaynağı

CDC Kaynak Düzenleyicisi (Bağlantı Yöneticisi Sayfası)

CDC Kaynak Düzenleyicisi (Sütunlar Sayfası)

CDC Kaynak Düzenleyicisi (Hata Çıktı Sayfası)

CDC Splitter hakkında daha fazla bilgi için bakınız:

CDC Bölücü

CDC paketleri oluştururken dikkat gerektiren temel sorunlardan biri, değişiklik işleminin verilerin ilk yüklenmesi (veya ilk işlenmesi) ile nasıl etkileşime geçtiğidir.

CDC bileşenleri üç ayrı ilk yükleme ve değişiklik işleme senaryolarını destekler:

  • İlk yükleme veritabanı anlık görüntüsüyle yapılır. Bu durumda, değişiklik işleme anlık görüntü olayının LSN'siyle başlar.

  • Sessiz bir veritabanından ilk yükleme. Bu durumda, ilk yükleme sırasında değişiklik yapılmaz, bu nedenle geçerli LSN ilk yükleme sırasında bir süre örneklenir ve değişiklik işlemi bu LSN ile başlar.

  • Etkin veritabanından ilk yükleme. Bu durumda, ilk yük devam ederken, veritabanında değişiklikler yapılır ve değişiklik işleminin kesin olarak başlatılabildiği tek bir LSN yoktur. Bu durumda, ilk yük paketi geliştiricisi, ilk yüklemeden önce ve sonra kaynak veritabanının mevcut LSN'sini örnekleyebilir. Ardından, değişiklikler işlenirken, işlenen değişikliklerin bazıları ilk yükte zaten görüldüğünden ilk yüke paralel olarak yapılan değişiklikler işlenirken dikkatli olunmalıdır (örneğin, eklenen satır ilk yükleme işlemi tarafından okunduğundan, Ekle değişikliği yinelenen anahtar hatasıyla başarısız olabilir).

Aşağıdaki şekilde, ilk iki senaryoyu işleyebilen bir SSIS paketi gösterilmektedir:

SSIS paketi ilk iki senaryonun işlenmesi

Aşağıdaki şekilde, üçüncü senaryoyu işleyebilen bir SSIS paketi gösterilmektedir:

SSIS paketi işleme üçüncü senaryo

İlk yük paketinden sonra, bir trickle-feed güncelleştirme paketi, tüketim için kullanılabilir hale geldikçe değişiklikleri işlemek için bir zamanlamaya göre art arda çalıştırılır.

CDC işleme durumunun ilk yük paketinden yavaş besleme paketine ve her paket içindeki farklı görevler arasında geçirilmesi, özel bir SSIS paketinin dize değişkeni aracılığıyla gerçekleşir. Bu değişkenin değeri, ilk yükleme ve trickle-feed paketleri tarafından işlenmekte olan tablo gruplarının mevcut CDC işlem durumunu yansıtan CDC Durumu olarak adlandırılır.

CDC Durum değişkeninin değeri kalıcı depolamada tutulmalıdır. CDC işlemine başlamadan önce okunmalı ve işlem tamamlandıktan sonra mevcut durumuyla kaydedilmelidir. CDC durumunu yükleme ve depolama görevi SSIS geliştiricisi tarafından işlenebilir, ancak CDC Denetimi bileşeni bir veritabanı tablosunda CDC Durumu değerini koruyarak bu görevi otomatikleştirebilir.

Güvenlikle İlgili Dikkat Edilmesi Gerekenler

Bu bölümde, SSIS'de CDC bileşenlerinin kullanımıyla ilgili bazı güvenlik konuları listelenmiştir.

Verileri Değiştirmek için Erişim Yetkilendirmesi

Trickle-feed güncelleştirme paketlerinin SQL Server CDC işlevlerine erişmesi gerekir. Bu tür erişimler varsayılan olarak db_owner sabit veritabanı rolünün üyelerine verilir. db_owner güçlü bir rol olduğundan, SQL Server'da yakalama örneklerini tanımlarken, SSIS CDC paketinin değişiklikleri işlemek için çok daha kısıtlı bir kullanıcı kullanmasını sağlayan her yakalama örneğiyle bir gating güvenlik rolü ilişkilendirmeniz önerilir.

CDC Veritabanı Geçerli LSN'sine Erişim

Değişiklik işleme için başlangıç LSN'sini işaretlemeye yönelik CDC Denetimi görev işlemlerinin CDC Veritabanı geçerli LSN'sini bulabilmesi gerekir. Bileşenler, ana veritabanından sp_replincrementlsn yordamını kullanarak LSN'yi bulur. Bu yordamda yürütme izni, SQL Server CDC veritabanına bağlanmak için kullanılan oturum açma bilgilerine verilmelidir.

CDC States Tablosuna Erişim

CDC Durumları tablosu, SQL Server CDC veritabanına bağlanmak için kullanılan oturum açma bilgileri tarafından güncelleştirilebilir olması gereken CDC Durumlarını otomatik olarak kalıcı hale getirmek için kullanılır. Bu tablo SSIS geliştiricisi tarafından oluşturulduğundan, SQL Server sistem yöneticisini SQL Server veritabanları oluşturma ve yönetim ve bakım görevlerini gerçekleştirme yetkisi olan bir kullanıcı olarak ayarlayın. Ayrıca, CDC özellikli veritabanlarıyla çalışan bir SQL Server sistem yöneticisinin SQL Server CDC teknolojisi ve uygulaması hakkında bilgi sahibi olması gerekir.

CDC İşleme için Tabloları Gruplandırma

Veritabanı projelerinin boyutu birkaç tablodan binlerce tabloya kadar değişir. İlk yük ve CDC paketlerini tasarlarken, daha kolay yönetim ve verimlilik için tabloları çok daha küçük gruplar halinde gruplandırmak yararlı olur. Bu bölümde, tabloların küçük gruplar halinde sıralanmasıyla ilgili dikkat edilmesi gereken çeşitli noktalar listelenmektedir. Burada her bir tablo başlangıçta yüklenir ve ardından grup olarak güncelleştirilir.

CDC bileşenleri tarafından desteklenen CDC desenleri, bu gruplandırma işleminin zaten belirlendiğini varsayar. Her grup, diğer gruplardan ayrı olarak tutulan ayrı bir CDC bağlamı tanımlar. Her grup için ilk yükleme ve trickle-feed güncelleştirme paketleri oluşturulur. Trickle-feed güncelleştirmeleri, değişiklik işleme kısıtlamalarının oranına (örneğin CPU ve GÇ tüketimi, diğer sistemler üzerindeki etki) ve istenen gecikme süresine göre düzenli çalıştırmalar için zamanlanır.

Tablolar aşağıdaki noktalara göre gruplandırılır:

  1. Hedef veritabanına göre. Farklı hedef veritabanlarına yazılan veya farklı işlemeye tabi olan tüm tablolar farklı CDC gruplarına atanmalıdır.

  2. Bilgi tutarlılığı kısıtlamalarıyla ilgili tablolar, hedefte bilgi tutarlılığı sorunlarını önlemek için aynı gruba atanmalıdır.

  3. Daha yüksek gecikme süresine tolerans gösterilebilen tablolar daha az sıklıkta işlenebilmesi ve genel sistem yükünün azaltılması için gruplandırılabilir.

  4. Daha yüksek değişiklik oranına sahip tablolar daha küçük gruplarda olmalı ve düşük değişiklik oranına sahip tablolar daha büyük gruplarda gruplandırılabilir.

Her CDC grubu için aşağıdaki iki paket oluşturulur:

  • Kaynak tablolardaki veri aralığının tamamını okuyan ve hedef tablolara uygulayan bir İlk Yükleme paketi.

  • Kaynak tablolarda yapılan değişiklikleri okuyan ve değişiklikleri hedef tablolara uygulayan bir trickle-feed güncelleştirme paketi. Bu paket düzenli olarak zamanlanmış olarak yürütülmelidir.

CDC Durumu

Her CDC grubunun kendisiyle ilişkilendirilmiş bir durumu vardır ve bu durum belirli bir biçime sahip bir dizeyle gösterilir. Daha fazla bilgi için bkz. CDC Denetim Görevi. Aşağıdaki tabloda olası CDC durum değerleri gösterilmektedir.

Devlet Açıklama
0-(BAŞLANGıÇ) Geçerli CDC grubunda herhangi bir paket çalıştırilmeden önce var olan durum. CdC durumu boş olduğunda da durum budur.

CDC Denetimi görev işlemleri hakkında daha fazla bilgi için bkz. CDC Denetim Görevi.
1-ILSTART (Başlangıç-Load-Started) Bu, ilk yükleme paketi başlatıldığında var olan durumdur. Bu, CDC Kontrolü görevine MarkInitialLoadStart işlemi çağrısından sonra oluşur.

CDC Denetimi görev işlemleri hakkında daha fazla bilgi için bkz. CDC Denetim Görevi.
2- İLEND (Initial-Load-Ended) Bu, ilk yükleme paketi başarıyla sona erdiğinde var olan durumdur. Bu, MarkInitialLoadEnd işlem çağrısının CDC Denetim görevine yapılmasından sonra oluşur.

CDC Denetimi görev işlemleri hakkında daha fazla bilgi için bkz. CDC Denetim Görevi.
3-ILUPDATE (İlk Yük Güncelleştirmesi) Bu, ilk işlem aralığını işlemeye devam ederken ilk yüklemeden sonra Güncelleştirme paketinin ilk çalıştırılmasından sonra var olan durumdur. Bu durum, GetProcessingRange işlemi CDC denetim görevine çağrıldıktan sonra meydana gelir.

_$reprocessing sütunu kullanılıyorsa, paketin hedefte olan satırları yeniden işleniyor olabileceğini belirtmek için 1 olarak ayarlanır.

CDC Denetimi görev işlemleri hakkında daha fazla bilgi için bkz. CDC Denetim Görevi.
4-TFEND (Trickle-Feed-Update-Ended) 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.
5-TFSTART (Trickle-Feed-Update-Started) Bu, CDC kontrol görevindeki GetProcessingRange işlemi çağrısından sonra Güncelleştirme paketinin sonraki çalıştırmalarında oluşan durumdur.

Bu, normal bir CDC çalıştırmanın başlatıldığını, ancak düzgün bir şekilde tamamlanmadığını veya henüz tamamlanmamış olduğunu gösterir (MarkProcessedRange).

CDC Denetimi görev işlemleri hakkında daha fazla bilgi için bkz. CDC Denetim Görevi.
6-TFREDO (Yeniden İşleme-Damla-Feed-Updates) Bu, TFSTART sonrasında oluşan GetProcessingRange durumudur. Bu, önceki çalışmanın başarıyla tamamlanmadığını gösterir.

__$reprocessing sütunu kullanılıyorsa, paketin zaten hedefte olan satırları yeniden işlediğini belirtmek için 1 olarak ayarlanır.
7-HATA CDC grubu hata durumunda.

CDC bileşenlerinin durum diyagramı aşağıdadır. Beklenmeyen bir duruma ulaşıldığında HATA durumuna ulaşılır. Beklenen durumlar aşağıdaki diyagramda gösterilmiştir. Ancak diyagramDA ERROR durumu gösterilmiyor.

Örneğin, bir ilk yükleme paketinin sonunda, durumu İLEND olarak ayarlamaya çalışırken, durum TFSTART ise CDC grubu bir hata durumundadır ve Trickle-Feed Güncelleştirme paketi çalışmaz (İlk Yükleme paketi çalışır).

Durum Diyagramı

İlk Yükleme paketi başarıyla çalıştırıldıktan sonra, Trickle-Feed Güncelleştirme paketi, kaynak tablolardaki değişiklikleri işlemek için önceden belirlenmiş bir zamanlama altında art arda çalışır. Trickle-Feed Update paketinin her çalıştırması bir CDC çalıştırmasıdır.

Bu Bölümde

  • Microsoft SQL Server 2012 için Oracle by AttunityÜzerinde Değişiklik Verisi Yakalama yükleme konulu teknik makale, social.technet.microsoft.com'da.

  • Social.technet.microsoft.com'da Attunitytarafından Oracle için Microsoft Değişiklik Veri Yakalama'da Yapılandırma Sorunlarını Giderme teknik makale.

  • social.technet.microsoft.com'da, Oracle için Microsoft Change Data Capture'da CDC Instance Hatalarını Giderme ,tarafından teknik makale.

  • Video, Oracle Veritabanları için CDC kullanan SQL Server Integration Services 2012 (SQL Server Video), technet.microsoft.com üzerinde.

Ayrıca Bkz.

CDC Denetim Görevi