Aracılığıyla paylaş


cdc.fn_cdc_get_all_changes_ < capture_instance > (Transact-SQL)

Her bir değişikliği kaynak tablosunda belirtilen günlük sıra numarası (SSN) aralığında uygulanan bir satır döndürür.Kaynak satır aralık içinde birden çok değişikliği sahipse, her değişiminde döndürülen sonuç temsil küme.Dört meta veriler sütunları, değişiklik veri döndürülüyor ek olarak başka bir veri kaynağına değişiklikleri uygulamak için gereken bilgileri sağlar.Süzme seçeneklerini satır meta veriler sütunları yaný sýra sonuç kümesinde döndürülen satırların içeriğini kapsar.Satır süzgeç seçeneği 'all' belirtildiğinde her değişiklik, değişikliği tanımlamak için bir satır vardır.'Tüm eski güncelleştirme' seçeneği belirtildiğinde, güncelleştirme işlemlerini iki satır gösterilir: bir güncelleştirme ve başka bir güncelleştirme sonrasında yakalanan sütun değerleri içeren önce yakalanan sütunların değerlerini içeren.

Bu numaralandırma işlev saat oluşturulur, bir kaynak tablo değişiklik veri yakalama için etkinleştirilir.Işlev adından türetilir ve biçimini kullanır. **cdc.fn_cdc_get_all_changes_**capture_instance burada capture_instance kaynak tablo, değişiklik veri yakalama için etkinleştirildiğinde, yakalama örnek için belirtilen değer ' dir.

Topic link iconTransact-SQL sözdizimi kuralları

cdc.fn_cdc_get_all_changes_capture_instance ( from_lsn , to_lsn , '<row_filter_option>' )

<row_filter_option> ::=
{ all
 | all update old
}

Bağımsız değişkenler

  • from_lsn
    The LSN value that represents the low endpoint of the LSN range to include in the result set.from_lsn is binary(10).

    Yalnızca, satırları _CT cdc. [capture_instance bir değer içeren tabloyu değiştirme**__ $ start_lsn** ya da daha büyükfrom_lsn Sonuçta içerdiği küme.

  • to_lsn
    The LSN value that represents the high endpoint of the LSN range to include in the result set.to_lsn is binary(10).

    Yalnızca, satırları _CT cdc. [capture_instance bir değer içeren tabloyu değiştirme**__ $ start_lsn** daha az veya ona eşit içinfrom_lsn ya da eşit to_lsn Sonuç kümesinde yer alır.

  • < row_filter_option >:: = {tümü | tüm eski güncelleştirme}
    meta veriler sütunları yaný sýra satırları içeriğini yöneten bir seçenek sonucu döndürdü küme.

    Aşağıdaki seçeneklerden herhangi biri olabilir:

    • tüm
      Tüm değişiklikleri SSN belirtilen aralık içinde döndürür.Değişikliklerin nedeniyle güncelleştirme işlemi, bu seçenek yalnızca, güncelleştirme uygulandıktan sonra yeni değerler içeren satır döndürür.

    • tüm eski güncelleştirme
      Tüm değişiklikleri SSN belirtilen aralık içinde döndürür.Değişikliklerin nedeniyle güncelleştirme işlemi, bu seçeneği, güncelleştirme önce sütun değerlerini içeren satır hem de güncelleştirmesinden sonra sütun değerlerini içeren satır döndürür.

Dönen Tablo

Sütun adı

Veri türü

Açıklama

__ $ start_lsn

binary(10)

yürütme sırası değişikliği korur değişiklikle ilişkili SSN yürütme.Aynı harekette kaydedilen değişiklikleri aynı yürütme SSN değerini paylaşır.

__ $ seqval

binary(10)

Bir hareket içinde bir satırın sipariş değişiklikler için kullanılan sıra değeri.

__ $ işlemi

int

Hedef veri kaynağına değişiklik veri satırı uygulamak için gerekli veri düzenleme Dil (DML) işlemini tanımlar.Aşağıdakilerden biri olabilir:

1 silme =

2 ekleme =

3 güncelleştirmesi = (yakalanan sütun değerlerini güncelleştirme işlemi önce bilgilerdir).Bu değer, yalnızca, satır süzgeç seçeneği 'tüm eski güncelleştirme' belirtilen uygulanır.

4 Güncelleştirmesi = (yakalanan sütun değerlerini güncelleştirme işlemi sonra bilgilerdir)

__ $ update_mask

varbinary(128)

Yakalanan yakalama örnek için tanımlanan her bir sütun karşılık gelen bir bit BIR bit maskesi.Bu değer 1 zaman küme tüm tanımlı bit vardır. __ $ işlemi = 1 or 2.Ne zaman __ $ işlemi = 3 veya 4, bu bit yalnızca değişen sütunları karşılık gelen 1 olarak küme.

<Yakalanan bir kaynak tablo sütunları>

değişir

Işlev tarafından döndürülen kalan sütunları yakalama örnek oluşturulduğunda tanımlanan yakalanan sütunları ' dir.Hiçbir sütun, kaynak tüm sütunlar yakalanan sütun listesinde belirtildi, tablo döndürülür.

İzinler

Üyelik gerektirir sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü.Diğer tüm kullanıcılar için kaynak yakalanan tüm sütunlara SELECT izni gerektirir tablo ve gating role yakalama örnek için tanımlanmışsa, rol üyeliği, veritabanı.Arayanın kaynak verilerini görüntüleme iznine sahip değil işlev 229 hata döndürür ("The SELECT izni veritabanı nesnesinde '... fn_cdc_get_all_changes_' engellendi '<Veritabanı adı>', 'cdc' şema. ").

Remarks

Belirtilen SSN aralık içinde zaman çizelgesi yakalama örnek için izleme değişiklik Sonbahar, işlevi 208 hata verir ("bir yetersiz sayıda bağımsız değişken için yordam veya işlev cdc.fn_cdc_get_all_changes girildi.").

Sütun veri türü image, text, ve ntext her zaman null DEĞERI atanır ne zaman değeri __ $ işlemi = 1 or __ $ işlemi = 3.Sütun veri türü varbinary(max), varchar(max), veya nvarchar(max) null DEĞERI atanır ne zaman değeri __ $ işlemi sütunu güncelleştirme sırasında değiştirmediği takdirde = 3.Ne saat __ $ işlemi = 1 ise, bu sütunları silme saat değerlerine atanır.Bir yakalama örnek her zaman dahil hesaplanan bir sütun NULL değeri vardır.

Örnekler

Birkaç SQL Server Management Studio şablonlar kullanılabilir değişiklik veri yakalama sorgu işlevlerinin nasıl kullanılacağı gösterin. Bu şablonlar kullanılabilir View menu in Management Studio. Daha fazla bilgi için bkz:SQL Server Management Studio şablonları kullanma.

Bu örnekte gösterildiği Enumerate All Changes for Valid Range Template. Bu işlev kullanır cdc.fn_cdc_get_all_changes_HR_Department Yakalama örnek için kullanılabilir tüm değişiklikleri bildirmek için HR_Department, kaynak için tanımlanan HumanResources.Department içinde tablo AdventureWorks Veritabanı.

-- ==================================================
-- Enumerate All Changes for Valid Range Template
-- ==================================================
USE AdventureWorks
GO

DECLARE @from_lsn binary(10), @to_lsn binary(10)
SET @from_lsn =
   sys.fn_cdc_get_min_lsn('HR_Department')
SET @to_lsn   = sys.fn_cdc_get_max_lsn()
SELECT * FROM cdc.fn_cdc_get_all_changes_HR_Department
  (@from_lsn, @to_lsn, N'all')
GO