Aracılığıyla paylaş


CDC.<capture_instance>_ct (Transact-sql)

Değişikliği tablo, kaynak tablo üzerinde değişiklik veri yakalama etkin olduğunda oluşturulur. Tablonun her ekleme için bir satır döndürür ve silme işlemi kaynak tablo karşı gerçekleştirilen ve her iki satır kaynak tablo karşı gerçekleştirilen operasyon güncelleştirin. Değişikliği tablo adı kaynak tablo etkin zaman belirtilen zaman adı türetilir. Cdc adı biçimindedir. capture_instance_ct nereye capture_instance kaynak tablo şema adı ve kaynak tablo adı biçiminde schema_table. Örneğin, eğer tablo Person.Address içinde AdventureWorks örnek veritabanı Değiştir veri yakalama için etkinleştirilmiş, türetilmiş değişikliği tablo adı olacağını cdc.Person_Address_CT.

Eğer sistem tabloları doğrudan sorgulamaz öneririz. Bunun yerine, idam cdc.fn_cdc_get_all_changes_<capture_instance > ve değiştirir<capture_instance > işlevleri.

Sütun adı

Veri türü

Açıklama

__$ start_lsn

binary(10)

Değişikliği tamamlama hareket ile ilişkili günlük sıra numarası (lsn).

Aynı hareket kaydedilmiş tüm değişiklikleri aynı kayıt lsn paylaşın. Değişikliği tablo kaynak tablo silme işlemi iki satır kaldırırsa, örneğin, iki satır, her biri aynı içerir __$ start_lsn değer.

__$ end_lsn

binary(10)

Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.

De SQL Server 2012, bu sütun her zaman null.

__$ seqval

binary(10)

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

__$ işlem

int

Değişikliği ile ilişkili veri düzenleme dili (dml) işlemi tanımlar. Aşağıdakilerden biri olabilir:

1 = silme

2 = Ekle

3 = güncelleştirme (eski değerler)

Sütun veri güncelleştirme deyimini yürütmeden önce satır değerleri vardır.

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

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

__$ update_mask

varbinary(128)

Değiştirilen bu sütunları tanımlama değişikliği tablo sütun sıra sayıları dayalı bir bit maskesi.

<captured source table columns>

değişir

Değişikliği tablo kalan sütunları yakalama örneği oluşturulduğunda, yakalanan sütun olarak tespit edilmiştir kaynak tablo sütunları vardır. Hiçbir sütun yakalanan sütun listesinde belirtilmiş olması durumunda, kaynak tablodaki tüm sütunları bu tabloya eklenir.

Açıklamalar

Yakalanan sütun veri türleri

Yakalanan sütunları bu tabloya dahil, onların karşılık gelen kaynak sütunlar aşağıdaki istisnalar aynı veri türü ve değer vardır:

  • Timestampsütunları olarak tanımlanan binary(8).

  • Identitysütunları olarak tanımlanan intya bigint.

Ancak, bu sütunların değerleri kaynak sütun değerlerini aynıdır.

Büyük nesne veri türleri

lob veri türleri için varchar(max), nvarchar(max), varbinary(max), image, text, ntext, ve xml, sütun güncelleştirme sırasında aslında değişti eski değeri yalnızca güncelleştirme eski satır görünür. 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, tek bir INSERT, update, WRITETEXT veya updatetext deyimi yakalanan sütun eklenebilir maksimum 65.536 bayt veya 64 kb boyutudur. Büyük lob Verisi desteklemek için bu boyutunu artırmak için kullanmak Max metin çoğaltma boyutu sunucu yapılandırma seçeneği yapılandırmaken büyük boyutu belirtmek için. Daha fazla bilgi için, bkz. Max metin çoğaltma boyutu sunucu yapılandırma seçeneği yapılandırmak.

Veri tanımlama dili değişiklikleri

ddl değişiklikleri ekleme veya sütun siliniyor gibi kaynak tablo olarak kaydedilip cdc.ddl_history tablosu. Bu değişikliklerin, değişikliği tablo için uygulanmaz. Başka bir deyişle, değişiklik tablonun tanımı sabit kalır. Satır değişikliği tablo eklerken, yakalama işlemi kaynak tabloyla ilişkilendirilmiş yakalanan sütun listesinde görünmeyen bu sütunlar yoksayar. Bir sütunu artık kaynak tablosunda yakalanan sütun listesi görünür sütun null değeri atanır.

Kaynak tablodaki bir sütun veri türünü değiştirerek de kaydedilen içinde cdc.ddl_history tablosu. Ancak, bu değişiklik, değişikliği tablo tanımını değiştirme. Yakalama işlemi günlük kaydı için kaynak tablo yapılan ddl değişikliği karşılaştığında yakalanan sütun değişikliği tablo veri türü değiştirilir.

Yakalanan sütun veri türü boyutunu azaltan bir şekilde kaynak tablodaki veri türünü değiştirmeniz gerekirse, değişikliği tablosundaki eşdeğer sütun başarıyla değiştirilebilir sağlamak için aşağıdaki yordamı kullanın.

  1. Kaynak tabloda, planlanan veri türü boyutunu sığacak şekilde değiştirilecek sütun değerleri güncelleştirin. Örneğin, veri türünü değiştirmek, intiçin smallint, ihtiyaçlarınıza uygun bir boyuta değerleri güncelleştirmek smallint-32,768 ile 32,767 aralığının.

  2. Değişim tablosunda eşdeğer sütun için aynı güncelleştirme işlemi gerçekleştirin.

  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 tablonun yayılır.

Veri işleme dili değişiklikleri

Ekleme, güncelleştirme ve silme işlemleri değişiklik veri yakalama etkin kaynak tablosu üzerinde gerçekleştirilen bu dml işlemleri kaydı veritabanı hareket günlüğüne görünür. Değişiklik veri yakalama işlemi alır bilgi işlem günlüğü bu değişiklikleri hakkında yakalama ve değişikliği kaydetmek için değişiklik tabloya bir veya iki satır ekler. Değişikliği tablosu girdilerini tamamlama değişiklikleri yerine tek bir giriş için bir grup genellikle yapılması gerekiyor, ancak değişiklik tablonun kaynak tablo, kararlı olduklarını aynı sırada girişleri eklenir.

Değişim tablosu girdisi içinde __$ start_lsn sütunu değiştirmek için kaynak tablo ile ilişkili lsn tamamlama kaydı için kullanılır ve __$ seqval sütun değişiklik onun hareket içinde sipariş etmek için kullanılır. Birlikte, bu meta veri sütunları kaynak değişiklikleri kaydetme sırası korunur emin olmak için kullanılır. Yakalama işlemini işlem günlüğünden değişiklik bilgilerini alır, tablo girdileri görünmez onların karşılık gelen kaynak tablo değişiklikleri ile eşzamanlı olarak değiştirmek unutmayın çünkü. Bunun yerine yakalama işlemini, işlem günlüğü ilgili değişiklik girişlerinden işlediği sonra karşılık gelen değişiklikleri eşzamansız olarak görünür.

İçin ekleme ve silme işlemleri, tüm güncelleştirme maskesindeki bit olarak ayarlanır. Güncelleştirme işlemleri, her iki güncelleme eski güncelleştirme maske ve güncelleştirme yeni satır güncelleştirme sırasında değiştirilen sütunları yansıtacak şekilde değiştirilir.

Ayrıca bkz.

Başvuru

sys.sp_cdc_enable_table (Transact-sql)

sys.sp_cdc_get_ddl_history (Transact-sql)