Aracılığıyla paylaş


sys.sp_cdc_help_change_data_capture (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Geçerli veritabanında değişiklik verisi yakalama için etkinleştirilen her tablo için değişiklik verileri yakalama yapılandırmasını döndürür. Her bir kaynak tablo için en fazla iki satır döndürülebilir ve her yakalama örneği için bir satır döndürülebilir. Değişiklik veri yakalama, SQL Server'ın her sürümünde mevcut değildir. SQL Server sürümleri tarafından desteklenen özelliklerin listesi için bkz. Sürümleri ve SQL Server 2022'nin desteklenen özellikleri.

Transact-SQL söz dizimi kuralları

Sözdizimi

sys.sp_cdc_help_change_data_capture
    [ [ @source_schema = ] 'source_schema' ]
    [ , [ @source_name = ] 'source_name' ]
[ ; ]

Arguments

[ @source_schema = ] 'source_schema'

Kaynak tablonun ait olduğu şemanın adı. @source_schemasysname değeridir ve varsayılan değeri .NULL @source_schema belirtildiğinde, @source_name de belirtilmelidir.

Null değilse, geçerli veritabanında @source_schema bulunmalıdır.

@source_schema null değilse, @source_name null da olmamalıdır.

[ @source_name = ] 'source_name'

Kaynak tablonun adı. @source_namesysname değeridir ve varsayılan değeri .NULL @source_name belirtildiğinde @source_schema de belirtilmelidir.

Null değilse, geçerli veritabanında @source_name bulunmalıdır.

@source_name null değilse, @source_schema null da olmamalıdır.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Sonuç kümesi

Sütun adı Veri türü Description
source_schema sysname Kaynak tablo şemasının adı.
source_table sysname Kaynak tablonun adı.
capture_instance sysname Yakalama örneğinin adı.
object_id int Kaynak tabloyla ilişkili değişiklik tablosunun kimliği.
source_object_id int Kaynak tablonun kimliği.
start_lsn binary(10) Değişiklik tablosunu sorgulamak için düşük uç noktayı temsil eden günlük sırası numarası (LSN).

NULL = düşük uç nokta henüz belirlenmemiştir.
end_lsn binary(10) Değişiklik tablosunu sorgulamak için yüksek uç noktayı temsil eden LSN. SQL Server 2012'de (11.x) bu sütun her zaman NULLşeklindedir.
supports_net_changes bit Net değişiklik desteği etkinleştirildi.
has_drop_pending bit SQL Server 2012'de (11.x) kullanılmaz.
role_name sysname Değişiklik verilerine erişimi denetlemek için kullanılan veritabanı rolünün adı.

NULL = bir rol kullanılmaz.
index_name sysname Kaynak tabloda satırları benzersiz şekilde tanımlamak için kullanılan indeksin adı.
filegroup_name sysname Değişim tablosunun bulunduğu dosya grubunun adı.

NULL = değişim tablosu veritabanının varsayılan dosya grubundadır.
create_date datetime Yakalama örneğinin etkinleştirildiği tarih.
index_column_list nvarchar(max) Kaynak tablodaki satırları benzersiz olarak tanımlamak için kullanılan dizin sütunlarının listesi.
captured_column_list nvarchar(max) Yakalanan kaynak sütunların listesi.

Açıklamalar

Hem @source_schema hem de varsayılan olarak NULL@source_name veya açıkça olarak olarak ayarlandığındaNULL, bu saklı yordam, çağıranın SELECT erişimine sahip olduğu tüm veritabanı yakalama örneklerine ilişkin bilgileri döndürür. @source_schema ve @source_name null olmadığında, yalnızca belirli bir adlandırılmış etkin tabloyla ilgili bilgiler döndürülür.

Permissions

@source_schema ve @source_nameNULLolduğunda, çağıranın yetkilendirmesi hangi etkin tabloların sonuç kümesine dahil olduğunu belirler. Çağıranların, yakalama örneğinin tüm yakalanan sütunlarında SELECT iznine ve ayrıca tablo bilgilerinin dahil edilmesi için tanımlı herhangi bir gating rolüne üye olması gerekir.

db_owner veritabanı rolünün üyeleri tanımlı tüm yakalama örnekleri hakkındaki bilgileri görüntüleyebilir. Belirli bir etkin tablo için bilgi istendiğinde, adlandırılmış tablo için aynı SELECT ve üyelik ölçütleri uygulanır.

Örnekler

A. Belirtilen tablo için değişiklik verileri yakalama yapılandırma bilgilerini döndürme

Aşağıdaki örnek, tablonun değişiklik veri yakalama yapılandırmasını HumanResources.Employee döndürür.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_help_change_data_capture
    @source_schema = N'HumanResources',
    @source_name = N'Employee';
GO

B. Tüm tablolar için değişiklik verileri yakalama yapılandırma bilgilerini döndürme

Aşağıdaki örnek, çağıranın erişim yetkisine sahip olduğu değişiklik verilerini içeren veritabanındaki tüm etkin tablolar için yapılandırma bilgilerini döndürür.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_help_change_data_capture;
GO