Share via


sys.sp_cdc_get_ddl_history (Transact-sql)

Değişiklik veri yakalama için o yakalama örneği etkinleştirildikten sonra belirtilen yakalama örneğiyle ilişkili veri tanım dili (ddl) değişiklik geçmişi döndürür. Değişiklik veri yakalama her sürümünde kullanılabilir değil Microsoft SQL Server. Sürümü tarafından desteklenen özellikleri listesi için SQL Serverbakın SQL Server 2012 Sürümleri Tarafından Desteklenen Özellikler.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

sys.sp_cdc_get_ddl_history [ @capture_instance = ] 'capture_instance'

Bağımsız değişkenler

  • @ capture_instance ='capture_instance'
    Bir kaynak tabloyla ilişkilendirilmiş yakalama örneğinin adıdır. capture_instanceise sysnameve boş olamaz.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Sonuç Kümeleri

Sütun adı

Veri türü

Açıklama

source_schema

sysname

Kaynak tablo şema adı.

source_table

sysname

Kaynak tablo adı.

capture_instance

sysname

Yakalama örneğinin adı.

required_column_update

bit

Kaynak sütun yapılan veri türü değişikliği yansıtacak şekilde değiştirilecek değişiklik tablodaki sütun ddl değişikliği gerekli gösterir.

ddl_command

nvarchar(max)

Kaynak tablo uygulanan ddl deyimi.

ddl_lsn

binary(10)

ddl değişikliği ile ilişkili günlük sıra numarası (lsn).

ddl_time

datetime

ddl değişikliği ile ilişkili zaman.

Açıklamalar

Ekleme veya bir sütun siliniyor veya varolan bir sütunun veri türünü değiştirme gibi kaynak tablo sütun yapısını değiştiren ddl değişiklikleri kaynak tablo içinde korunur cdc.ddl_history tablosu. Bu değişiklikler, bu saklı yordam kullanılarak bildirilebilir. Girişleri cdc.ddl_history\Kütüğü ddl hareket yakalama işlemini okur zamanda yapılır

İzinler

Üyelik db_ownerveritabanındaki tüm yakalama örnekleri için satırları döndürmek için sabit veritabanı rolü. Diğer tüm kullanıcılar için tüm yakalanan sütun kaynak tablo üzerinde select izni gerektirir ve yakalama örneği için gating rol tanımlanmışsa, bu üyelik veritabanı rolü.

Örnekler

Aşağıdaki örnek, kaynak tablo sütun ekler HumanResources.Employeeve sonra sys.sp_cdc_get_ddl_historysaklı yordamı yakalama örneğiyle ilişkili kaynak tablo için geçerli olan ddl değişiklikleri bildirmek için HumanResources_Employee.

USE AdventureWorks2012;
GO
ALTER TABLE HumanResources.Employee
ADD Test_Column int NULL;
GO
-- Pause 10 seconds to allow the event to be logged. 
WAITFOR DELAY '00:00:10';
GO 
EXECUTE sys.sp_cdc_get_ddl_history 
    @capture_instance = 'HumanResources_Employee';
GO

USE AdventureWorks2012;
GO
ALTER TABLE HumanResources.Employee
ADD Test_Column int NULL;
GO
-- Pause 10 seconds to allow the event to be logged. 
WAITFOR DELAY '00:00:10';
GO 
EXECUTE sys.sp_cdc_get_ddl_history 
    @capture_instance = 'HumanResources_Employee';
GO

Ayrıca bkz.

Başvuru

sys.sp_cdc_help_change_data_capture (Transact-sql)