Aracılığıyla paylaş


CDC Denetim Görevi

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

Ö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 duyurusuatıfta bulunur.

CDC Denetimi görevi, değişiklik veri yakalama (CDC) paketlerinin yaşam döngüsünü denetlemek için kullanılır. CDC paket eşitlemesini başlangıç yükleme paketi ile işler ve CDC paketinin bir çalıştırmasında işlenen Log Sırası Numarası (LSN) aralıklarının yönetimini gerçekleştirir. Buna ek olarak, CDC Denetimi görevi hata senaryoları ve kurtarma ile ilgilenir.

CDC Denetimi görevi, CDC paketinin durumunu bir SSIS paket değişkeninde tutar ve ayrıca bir veritabanı tablosunda da kalıcı hale getirerek, durumun paket etkinleştirmeleri arasında ve ortak bir CDC işlemini birlikte gerçekleştiren birden çok paket arasında tutulmasını sağlayabilir (örneğin, ilk yüklemeden bir görev, karmaşık akış güncelleştirmelerinden diğeri sorumlu olabilir).

CDC Denetimi görevi iki işlem grubunu destekler. Gruplardan biri ilk yükleme ve değişiklik işlemlerinin eşzamanlılığını yönetir, diğeri ise bir CDC paketinin çalıştırılması sırasında LSN'lerin değişiklik işleme aralığını yönetir ve hangi işlemlerin başarıyla gerçekleştirildiğini izler.

Aşağıdaki işlemler, ilk yüklemeyi ve değişiklik işlemesini eşzamanlar:

Operasyon Açıklama
CdcDurumunuSıfırla Bu işlem geçerli CDC bağlamıyla ilişkili kalıcı CDC durumunu sıfırlamak için kullanılır. Bu işlem çalıştırıldıktan sonra, LSN-timestamp sys.fn_cdc_get_max_lsn tablosundaki geçerli en yüksek LSN, sonraki işleme aralığı için aralığın başlangıcı olur. Bu işlem, kaynak veritabanına bir bağlantı gerektirir.
Başlangıç Yükleme Başlangıcını İşaretle Bu işlem, ilk yükleme paketi kaynak tabloları okumaya başlamadan önce kaynak veritabanında geçerli LSN'yi kaydetmek için ilk yük paketinin başında kullanılır. Bu, çağrısı sys.fn_cdc_get_max_lsnyapmak için kaynak veritabanına bir bağlantı gerektirir.

SQL Server CDC üzerinde çalışırken MarkInitialLoadStart'ı seçerseniz (Oracle değil) bağlantı yöneticisinde belirtilen kullanıcının db_owner veya sysadmin olması gerekir.
İlkYüklemeyiBitirOlarakİşaretle Bu işlem, ilk yükleme paketi kaynak tabloları okumayı bitirdikten sonra geçerli LSN'yi kaynak veritabanına kaydetmek için ilk yük paketinin sonunda kullanılır. Bu LSN, bu işlemin gerçekleştiği geçerli saati kaydederek ve ardından cdc veritabanında eşleme tablosunu sorgulayarak cdc.lsn_time_o zamandan sonra gerçekleşen bir değişikliği arayarak belirlenir.

SQL Server CDC üzerinde çalışırken MarkInitialLoadEnd'i seçerseniz (Oracle değil), bağlantı yöneticisinde belirtilen kullanıcının db_owner veya sysadmin olması gerekir.
MarkCdcStart Bu işlem, anlık görüntü veritabanından ilk yük yapıldığında kullanılır. Bu durumda, değişiklik işlemi anlık görüntü LSN'sinin hemen ardından başlamalıdır. Kullanılacak anlık görüntü veritabanının adını belirtebilir ve CDC Denetimi görevi anlık görüntü LSN için SQL Server'ı sorgular. Ayrıca anlık görüntü LSN'sini doğrudan belirtme seçeneğiniz de vardır.

SQL Server CDC üzerinde çalışırken MarkCdcStart'ı seçerseniz (Oracle değil), bağlantı yöneticisinde belirtilen kullanıcının db_owner veya sysadmin olması gerekir.

İşlem aralığını yönetmek için aşağıdaki işlemler kullanılır:

Operasyon Açıklama
İşleme Aralığı Al Bu işlem, CDC Kaynak veri akışını kullanan veri akışını çağırmadan önce kullanılır. CDC Kaynak veri akışının çağrıldığında okuduğu bir LSN aralığı oluşturur. Veri aralığı, veri akışı işlemesi sırasında CDC Kaynağı tarafından kullanılan bir SSIS paket değişkeninde saklanır.

Depolanan durumlar hakkında daha fazla bilgi için bkz. Durum Değişkeni Tanımlama.
İşlenmişAralığıİşaretle : Bu işlem, CDC çalıştırmasında tam olarak işlenen son LSN'yi kaydetmek için her CDC çalıştırmasının ardından (CDC veri akışı başarıyla tamamlandıktan sonra) yürütülür. GetProcessingRange bir sonraki yürütülişinde, bu konum işlem aralığının başlangıcıdır.

CDC Durum Sürekliliğini Yönetme

CDC Kontrol görevi, etkinleştirmeler arasında kalıcı bir durum tutar. CDC durumunda depolanan bilgiler, CDC paketinin işlem aralığını belirlemek ve korumak ve hata koşullarını algılamak için kullanılır. Kalıcı durum bir dize olarak depolanır. Daha fazla bilgi için bkz. Durum Değişkeni Tanımlama.

CDC Denetimi görevi iki tür durum kalıcılığını destekler

  • El ile Durum Kalıcılığı: Bu durumda, CDC Denetimi görevi bir paket değişkeninde depolanan durumu yönetir, ancak CDC Denetimini çağırmadan önce paket geliştiricisinin değişkeni kalıcı bir depodan okuması ve CDC Denetimi en son çağrıldıktan ve CDC çalıştırması tamamlandıktan sonra bu kalıcı depoya geri yazması gerekir.

  • Otomatik Durum Kalıcılığı: CDC durumu veritabanındaki bir tabloda depolanır. Durum, Durumu depolamak için seçilen bir bağlantı yöneticisinde bulunan Durum Depolamak için Kullanılacak Tablo özelliğindeki adlı tablodaki StateName özelliğinde sağlanan bir ad altında depolanır. Varsayılan değer kaynak bağlantı yöneticisidir, ancak hedef bağlantı yöneticisi olması yaygın bir uygulamadır. CDC Denetimi görevi durum tablosundaki durum değerini güncelleştirir ve bu işlem ortam işleminin bir parçası olarak işlenir.

Hata İşleme

CDC Denetimi görevi aşağıdaki durumlarda bir hata bildirebilir:

  • Kalıcı CDC durumunu okumada veya kalıcı durumu güncelleştirmede başarısız oluyor.

  • Kaynak veritabanından geçerli LSN bilgilerini okuyamıyor.

  • CDC durum okuma tutarlı değil.

Tüm bu durumlarda, CDC Kontrol görevi SSIS'nin kontrol akışı hatalarını standart bir şekilde işleyebileceği bir hata bildirir.

CDC Denetimi görevi, İşleme Aralığını Al işlemi, İşlenmiş Aralığı İşaretle işlemi çağrılmadan doğrudan başka bir İşleme Aralığı Al işleminden sonra çağrıldığında da bir uyarı bildirebilir. Bu, önceki çalıştırmanın başarısız olduğunu veya başka bir CDC paketinin aynı CDC durum adını kullanarak çalışıyor olabileceğinin bir göstergesidir.

CDC Denetim Görevini Yapılandırma

SSIS Tasarımcısı aracılığıyla veya program aracılığıyla özellikleri ayarlayabilirsiniz.

Bu Kısımda

Durum Değişkeni Tanımlama

  • 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.

CDC Kontrol Görev Düzenleyicisi

CDC Denetimi görevini yapılandırmak için CDC Denetim Görevi Düzenleyicisi iletişim kutusunu kullanın. CDC Denetimi görev yapılandırması, CDC veritabanına, CDC görev işlemine ve durum yönetimi bilgilerine bağlantı tanımlamayı içerir.

CDC Denetimi görevi hakkında daha fazla bilgi edinmek için bkz. CDC Denetim Görevi.

CDC Denetim Görevi Düzenleyicisi'ni açmak için

  1. SQL Server Veri Araçları'nda, CDC Denetimi görevini içeren SQL Server 2019 Integration Services (SSIS) paketini açın.

  2. Denetim Akışı sekmesinde CDC Denetimi görevine çift tıklayın.

Seçenekler

SQL Server CDC veritabanı ADO.NET bağlantı yöneticisi
Listeden var olan bir bağlantı yöneticisini seçin veya yeni bir bağlantı oluşturmak için Yeni 'a tıklayın. Bağlantı, CDC için etkinleştirilmiş bir SQL Server veritabanına ve seçilen değişiklik tablosunun bulunduğu yere olmalıdır.

CDC Denetim İşlemi
Bu görev için çalıştırılacak işlemi seçin. Tüm işlemler, durumu depolayan ve paketteki farklı bileşenler arasında geçiren bir SSIS paket değişkeninde depolanan durum değişkenini kullanır.

  • İlk yük başlangıcını işaretle: Bu işlem, anlık görüntü olmadan etkin bir veritabanından ilk yük yürütülürken kullanılır. İlk yükleme paketi kaynak tabloları okumaya başlamadan önce kaynak veritabanında geçerli LSN'yi kaydetmek için ilk yük paketinin başında çağrılır. Bunun için kaynak veritabanına bağlantı gerekir.

    SQL Server CDC üzerinde çalışırken İlk Yükleme Başlangıcını İşaretle 'yi seçerseniz (Oracle değil) bağlantı yöneticisinde belirtilen kullanıcının db_owner veya sysadmin olması gerekir.

  • İlk yük sonunu işaretle: Bu işlem, anlık görüntü olmadan etkin bir veritabanından ilk yük yürütülürken kullanılır. İlk yükleme paketi kaynak tabloları okumayı bitirdikten sonra kaynak veritabanında geçerli LSN'yi kaydetmek için ilk yük paketinin sonunda çağrılır. Bu LSN, bu işlemin gerçekleştiği geçerli saati kaydederek ve ardından cdc veritabanında eşleme tablosunu sorgulayarak cdc.lsn_time_o zamandan sonra gerçekleşen bir değişikliği arayarak belirlenir

    SQL Server CDC üzerinde çalışırken (Oracle değil) İlk Yük Sonunu İşaretle'yi seçerseniz, bağlantı yöneticisinde belirtilen kullanıcının db_owner veya sysadmin olması gerekir.

  • CDC başlangıcını işaretle: Bu işlem, ilk yükleme bir anlık görüntü veritabanından veya hareketsiz durumdaki veritabanından yapıldığında kullanılır. İlk yükleme paketi içinde herhangi bir noktada çağrılır. İşlem, anlık görüntü LSN'si, anlık görüntü veritabanının adı (anlık görüntü LSN'sinin otomatik olarak türetileceği) veya boş bırakılabilen bir parametreyi kabul eder; bu durumda geçerli veritabanı LSN' i değişiklik işleme paketi için başlangıç LSN'si olarak kullanılır.

    Bu işlem, İlk Yükleme Başlangıç/Bitiş İşlemlerini İşaretle işlemleri yerine kullanılır.

    SQL Server CDC üzerinde çalışırken CDC Başlat'ı İşaretle 'yi seçerseniz (Oracle değil) bağlantı yöneticisinde belirtilen kullanıcının db_owner veya sysadmin olması gerekir.

  • İşleme aralığını alma: Bu işlem, CDC Kaynak veri akışını kullanan veri akışını çağırmadan önce bir değişiklik işleme paketinde kullanılır. CDC Kaynak veri akışının çağrıldığında okuduğu bir LSN aralığı oluşturur. Veri aralığı, veri akışı işlemesi sırasında CDC Kaynağı tarafından kullanılan bir SSIS paket değişkeninde saklanır.

    Depolanan olası CDC durumları hakkında daha fazla bilgi için bkz. Durum Değişkeni Tanımlama.

  • İşlenen aralığı işaretle: Bu işlem, CDC çalıştırmasının sonundaki bir değişiklik işleme paketinde (CDC veri akışı başarıyla tamamlandıktan sonra) CDC çalıştırmasında tam olarak işlenen son LSN'yi kaydetmek için kullanılır. Bu konum, GetProcessingRange bir sonraki kez çalıştırıldığında bir sonraki işlem aralığının başlangıcını belirler.

  • CDC durumunu sıfırla: Bu işlem geçerli CDC bağlamıyla ilişkili kalıcı CDC durumunu sıfırlamak için kullanılır. Bu işlem çalıştırıldıktan sonra, LSN-timestamp sys.fn_cdc_get_max_lsn tablosundaki geçerli en yüksek LSN, sonraki işleme aralığı için aralığın başlangıcı olur. Bu işlem, kaynak veritabanına bir bağlantı gerektirir.

    Bu işlemin ne zaman kullanıldığını gösteren bir örnek, yalnızca yeni oluşturulan değişiklik kayıtlarını işlemek ve tüm eski değişiklik kayıtlarını yoksaymak istemenizdir.

CDC durumunu içeren değişkeni
Görev işleminin durum bilgilerini depolayan SSIS paket değişkenini seçin. Başlamadan önce bir değişken tanımlamanız gerekir. Otomatik durum kalıcılığı'nı seçerseniz durum değişkeni otomatik olarak yüklenir ve kaydedilir.

Durum değişkenini tanımlama hakkında daha fazla bilgi için bkz. Durum Değişkeni Tanımlama.

CDC/Anlık Görüntü adını başlatmak için SQL Server LSN:
CDC'nin nereden başlatıldığına karar vermek için geçerli kaynak veritabanı LSN'sini veya ilk yükün gerçekleştirildiği anlık görüntü veritabanının adını yazın. Bu yalnızca CDC Kontrol İşlemiCDC Başlat'ı İşaretle olarak ayarlandıysa kullanılabilir.

Bu işlemler hakkında daha fazla bilgi için bkz. CDC Denetim Görevi

Durumu otomatik olarak veritabanı tablosunda depola
CDC Denetimi görevinin CDC durumunu belirtilen veritabanında bulunan bir durum tablosunda yüklemeyi ve depolamayı otomatik olarak işlemesi için bu onay kutusunu seçin. Seçili olmadığında, paket başlatıldığında geliştiricinin CDC Durumunu yüklemesi ve CDC Durumu her değiştiğinde kaydetmesi gerekir.

Durumun depolandığı veritabanı için bağlantı yöneticisi
Listeden mevcut bir ADO.NET bağlantı yöneticisi seçin veya yeni bağlantı oluşturmak için Yeni'ye tıklayın. Bu bağlantı, State tablosunu içeren bir SQL Server veritabanına bağlantıdır. Eyalet tablosu eyalet bilgilerini içerir.

Bu yalnızca Otomatik durum kalıcılığı seçiliyse ve gerekli bir parametreyse kullanılabilir.

Depolama durumu için kullanılacak tablo
CDC durumunu depolamak için kullanılacak durum tablosunun adını yazın. Belirtilen tabloda ad ve durum adlı iki sütun olmalı ve her iki sütun da varchar (256) veri türünde olmalıdır.

İsteğe bağlı olarak Yeni'yi seçerek gerekli sütunlarla yeni bir State tablosu oluşturan bir SQL betiği alabilirsiniz. Otomatik durum kalıcılığı seçildiğinde, geliştiricinin yukarıda listelenen gereksinimlere göre bir durum tablosu oluşturması gerekir.

Bu yalnızca Otomatik durum kalıcılığı seçiliyse ve gerekli bir parametreyse kullanılabilir.

Eyalet adı
Kalıcı CDC durumuyla ilişkilendirmek için bir ad yazın. Aynı CDC bağlamıyla çalışan tam yük ve CDC paketleri ortak bir durum adı belirtir. Bu ad, durum tablosundaki durum satırını aramak için kullanılır