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.
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