Udostępnij za pośrednictwem


sys.sp_cdc_get_ddl_history (języka Transact-SQL)

Zwraca zmiany języka (DDL) definicja danych historia skojarzone z określonym przechwytywania wystąpienie ponieważ przechwytywania danych zmiana zostało włączone dla, przechwytywanie wystąpienie.Przechwytywanie danych zmian jest dostępne tylko w SQL Server 2008 wersji Enterprise, Developer i oceny.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sys.sp_cdc_get_ddl_history [ @capture_instance = ] 'capture_instance'

Argumenty

  • [ @ capture_instance = ] 'capture_instance"
    Jest nazwą przechwytywania wystąpienie skojarzone ztabela źródło. capture_instancejest sysname i nie może być NULL.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Zestawy wyników

Nazwa kolumny

Typ danych

Opis

source_schema

sysname

Nazwa schematutabela źródło.

source_table

sysname

Nazwatabela źródło.

capture_instance

sysname

Nazwa wystąpienieprzechwytywania.

required_column_update

bit

Wskazuje, że zmiana DDL wymagane kolumna Zmień tabela zmienione, aby odzwierciedlić zmiany typu danych źródło kolumna.

ddl_command

nvarchar(max)

DDLinstrukcja zastosowane dotabela źródło.

ddl_lsn

binary(10)

Kolejny numer dziennika (LSN) związane ze zmianą DDL .

ddl_time

datetime

Czas związany ze zmianą DDL .

Uwagi

DDL modyfikacje źródłotabela zmiana strukturykolumnatabela źródło, takie jak dodanie lub usunięcie kolumnalub zmieniania typu danych istniejącej kolumna, są obsługiwane w cdc.ddl_historytabela. Zmiany te można podać za pomocą tej procedura składowana.Wpisy w cdc.ddl_history są dokonywane na czas przechwytywania proces odczytuje DDL transakcji w informacje

Uprawnienia

Wymaga członkostwa w db_owner stałej rola bazy danych zwrócić wiersze dla wszystkich wystąpień przechwytywania w bazie danych.Dla innych użytkowników wymaga uprawnienie SELECT wszystkich przechwyconych kolumn wtabela źródłoi, jeśli zdefiniowano bramkowania roli przechwytywania wystąpienie członkostwo w tej rola bazy danych.

Przykłady

Poniższy przykład dodaje kolumna dotabela źródłoHumanResources.Employee , a następnie uruchamia sys.sp_cdc_get_ddl_historyprocedura składowana do zgłaszania zmian DDL , które stosuje się dotabela źródłoskojarzonej z przechwytywania wystąpienie HumanResources_Employee.

USE AdventureWorks2008R2;
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