Aracılığıyla paylaş


cdc. < capture_instance > _CT (Transact-SQL)

Kaynak tablo üzerinde değişiklik veri yakalama etkin olduğunda değişiklik tablo oluşturulur.Tablo, her bir satır ekleme ve silme işlemi kaynak tablo karşı gerçekleştirilen ve kaynak tablo karşı gerçekleştirilen bir işlemi her iki satır güncelleştirme döndürür.Ad değişikliği tablonun kaynak tablo etkin olduğu saat belirlenmezse türetilir.Ad biçimi olan cdc.capture_instanceCapture_instance olduğu kaynak tablo şema adı ve kaynak tablo adı, biçim schema_table _CT. Örneğin, tabloPerson.AddressAdventureWorks örnek veritabanındaki değişiklik veri yakalama için etkinleştirildiğinde, türetilmiş değişiklik tablo adı olacaktır cdc.Person_Address_CT .

Sistem tabloları doğrudan sorgulamaz olmasını öneririz.Çalıştırmak yerine,cdc.fn_cdc_get_all_changes_<capture_instance>vecdc.fn_cdc_get_net_changes_<capture_instance>İşlevler.

sütun Name

Veri türü

Açıklama

__ $ start_lsn

binary(10)

Günlük sıra numarası (SSN) ilişkili yürütme işlem değiştirme.

Tüm değişiklikleri kabul edilen aynı hareketle aynı yürütme SSN paylaşın.Örneğin, silme işlemi, kaynak bilgisayarda tablo iki satır, değişiklik kaldırır tablo aynı her iki satır yer alır__ $ start_lsn value.

__ $ end_lsn

binary(10)

Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

InSQL Server 2008Bu sütun olduğundan her zaman null.

__ $ seqval

binary(10)

Bir işlem içinde satır değişiklikleri sipariş etmek için kullanılan sıra değeri.

__ $ işlem

int

Değişiklik ile ilişkili veri işleme dili (DML) işlemini tanımlar.Aşağıdakilerden biri olabilir:

1 = silme

2 = ekleme

3 güncelleştirmesi (eski değeri) =

Sütun veri güncelleştirme çalıştırmadan önce satır değerleri olan deyim.

4 = Güncelleştirme (yeni değerler)

Sütun veri güncelleştirme deyimini yürüttükten sonra satır değerleri vardır.

__ $ update_mask

varbinary(128)

Bit maskesi temel değişiklik sütun sıra sayıları tablo değiştiren bu sütunlar belirleme.

<Yakalanan kaynak tablo sütunları>

değişen

Yakalama örnek oluşturulduğunda, yakalanan sütun olarak tanımlananların kaynak tablo sütunları değiştirme tablosundaki Kalan sütunlar var.Kaynak tüm sütunlar yakalanan sütun listesinden bir sütun belirtilmedi, tablo bu içerdiği tablo.

Remarks

Yakalanan sütun veri türleri

Bu sütun yakalanan tablo aynı veri türüne ve değer, ilgili kaynak sütunlar aşağıdaki istisnalar vardır:

  • Timestampsütun olarak tanımlananbinary(8).

  • Identitysütun olarak da tanımlanırintorbigint.

Ancak, bu sütundaki değerlerin kaynağı sütun değerlerini aynıdır.

Bu sürümdeki veri türleri sunulanSQL Server 2008desteklenmez.

Büyük nesne veri türleri

Veri türleri için LOBvarchar(max),nvarchar(max),varbinary(max),image,text,ntext, andxmlgüncelleştirme eski satır, sütun aslında değiştirilmiş güncelleştirme sırasında eski değer görünmesi,Diğer veri türleri için sütun değeri her zaman her iki güncelleştirme satırları görüntülenir.

Varsayılan olarak, eklenebilecek en büyük boyutu için bir yakalanan sütun tek bir INSERT, UPDATE, WRITETEXT veya UPDATETEXT 65,536 bayt ya da 64 KB deyimdir.Büyük LOB veri desteklemek için bu boyutu artırmak içinen fazla metin çoğaltma boyutu seçeneği belirlenecek bir büyük en büyük boyutu.Daha fazla bilgi için bkz: Nasıl Yapılır: En fazla metin çoğaltma boyutu Option (SQL Server Management Studio'yu) yapılandırın..

veri tanımlama dili değişiklikleri

Kaynak tablo ekleme veya sütunları silmek gibi DDL değişiklikler kaydedilircdc.ddl_history table.Bu değişiklikler, değişiklik uygulanmaz tablo.Diğer bir deyişle, değişiklik tablo tanımını sabit kalır.Yakalama işlemi değişiklik tabloya satır eklemek, bu sütunlar listesinde kaynak tablo ile ilişkili yakalanan görünmeyen yok sayar.Artık kaynak tablosunda olmayan yakalanan sütunu listesindeki bir sütun görünür sütun null değeri atanır.

Kaynak tablodaki sütun veri türünü değiştirme de kaydedildiyse,cdc.ddl_history tablo.Ancak, bu değişikliği değişikliği tablo tanımını değişiklik.Veri türü yakalanan sütun yakalama işlemi için kaynak tablo yapılan DDL değiştirmek için günlük kaydı karşılaştığında değişiklik tablo değiştirilir.

Kaynak yakalanan sütun veri türünü değiştirmek istiyorsanız tablo veri türünü boyutunu azaltır, bir şekilde, eşdeğer sütunda değişiklik emin olmak için aşağıdaki yordamı kullanın tablo başarıyla değiştirildi.

  1. Kaynak tablo, planlı bir veri türü boyuta sığacak şekilde değiştirilecek sütunundaki değerleri güncelleştirin.Örneğin, veri türünden diğerine değiştirmeinttosmallint, uygun bir boyut değerleri güncelleştirmesmallint-32,768 ile 32,767 aralığının.

  2. Değişmesi tablo, eşit sütun için aynı güncelleştirme işlemi.

  3. Kaynak tablo, yeni veri türünü belirleyerek değiştirebilirsiniz.Veri türü değişikliği başarıyla değişiklik yayılır tablo.

Veri işleme dili değişiklikleri

Ne zaman ekleme, güncelleştirme ve silme işlemleri gerçekleştirilir değişiklik veri yakalama etkin kaynağına tablo, DML işlemleri bu kaydı veritabanının işlem günlüğü görüntülenir.Değişiklik veri yakalama işlemi alır bilgi işlem günlüğündeki değişiklikleri yakalamak ve değişiklikleri kaydetmek için değişiklik tabloya bir veya iki satır ekler.Tablosu girdilerini değiştirme, yürütme genellikle yerine değişiklikleri tek bir giriş için bir grup üzerinde yapılması gerekir, ancak değişiklik tablonun kaynak tablo için bağımlı oldukları aynı sırada girişleri eklenir.

İçinde değişiklik tablosu girişi,__ $ start_lsn sütun, kaynak tablo değişikliği ile ilişkili SSN yürütme kaydetmek için kullanılır ve sipariş değişikliği içinde hareket. $ seqval sütun __ kullanılır Birlikte, bu meta veriler sütunları, kaynak kayıt sırası korunur emin olmak için kullanılabilir.Yakalama işlemi işlem günlüğü, değişiklik bilgilerini alır çünkü Not tablosu girdilerini görünmez, karşılık gelen kaynak tablo değişikliklerle eş zamanlı olarak değiştirmek önemlidir.Yakalama işlemi işlem günlüğü ilgili değişiklik girdilerinden işlediği sonra bunun yerine, zaman uyumsuz olarak, karşılık gelen değişiklikleri görünür.

İçin ekleme ve güncelleştirme maskesinde bitler küme tüm işlemleri.Güncelleştirme işlemlerini, her iki güncelleştirme eski güncelleştirme maskesi ve güncelleştirme için yeni satır güncelleştirme sırasında değiştirilen sütunları yansıtacak şekilde değiştirilecektir.