sys.fn_cdc_has_column_changed (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Belirtilen güncelleme maskesinin, belirtilen sütunun ilgili değişiklik satırında güncellendiğini gösterip göstermediğini belirler.

Transact-SQL söz dizimi kuralları

Syntax

  
sys.fn_cdc_has_column_changed ( 'capture_instance','column_name' , update_mask )  

Arguments

'capture_instance'
Yakalama örneğinin adı. capture_instancesysname.

'column_name'
Belirtilen yakalama örneğinin rapor edilmesi gereken sütunudur. column_namesysname.

update_mask
Maske, ilgili herhangi bir değişiklik satırındaki güncellenmiş sütunları mı belirliyor? update_maskvarbinar(128)dir.

Dönüş Türü

bit

Remarks

Bu fonksiyonu, değişiklik verisi için yapılan bir güncelleme maskesinden bilgi çıkarmak için kullanabilirsiniz. Güncelleme maskesini sonradan işlemekte en çok faydalıdır; ilgili değişiklik satırındaki belirli bir sütunun değiştirilip değiştirilmediğini bilmeniz gerekir. Daha fazla bilgi için bkz. Veri Yakalamayı Değiştirme Hakkında (SQL Server) .

Bu bilgiler bir değişiklik veri sorgusunun parçası olarak döndürülecekse, bu fonksiyon yerine sys.fn_cdc_get_column_ordinal ve sys.fn_cdc_is_bit_set fonksiyonlarını kullanmanızı öneririz. Değişiklik verisi için sorgulamadan önce fn_cdc_get_column_ordinal fonksiyonunu kullanın, böylece istenen sütun ordinalı yalnızca bir kez hesaplansın. Her geri dönen satır için güncelleme maskesinden bilgiyi çıkarmak için sorgu içindeki fn_cdc_is_bit_set kullanın.

Permissions

Sistem yöneticisi sabit sunucu rolünde veya sabit db_owner veritabanı rolünde üyelik gerektirir. Diğer tüm kullanıcılar için, kaynak tablodaki tüm yakalanan sütunlarda SELECT izni ve yakalama örneği için bir gating rolü tanımlanmışsa bu veritabanı rolüne üyelik gerektirir.