Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Returnerar data definition language (DDL) ändringshistorik kopplad till den angivna capture-instansen eftersom change data capture aktiverades för den capture-instansen. Ändringsdataregistrering finns inte tillgänglig i varje utgåva av SQL Server. För en lista över funktioner som stöds av utgåvorna i SQL Server, se Utgåvor och stödda funktioner i SQL Server 2025.
Transact-SQL syntaxkonventioner
Syntax
sys.sp_cdc_get_ddl_history [ @capture_instance = ] N'capture_instance'
[ ; ]
Arguments
[ @capture_instance = ] N'capture_instance'
Namnet på fångstinstansen kopplad till en källtabell.
@capture_instance är sysname och kan inte vara NULLdet.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Resultatuppsättning
| Kolumnnamn | Datatyp | Description |
|---|---|---|
source_schema |
sysname | Namnet på källtabellschemat. |
source_table |
sysname | Namnet på källtabellen. |
capture_instance |
sysname | Namnet på avbildningsinstansen. |
required_column_update |
bit | Indikerar att DDL-ändringen krävde att en kolumn i ändringstabellen ändrades för att återspegla en datatypändring som gjorts i källkolumnen. |
ddl_command |
nvarchar(max) | DDL-satsen tillämpades på källtabellen. |
ddl_lsn |
binary(10) | Logsekvensnummer (LSN) kopplat till DDL-ändringen. |
ddl_time |
datetime | Tid kopplad till DDL-förändringen. |
Remarks
DDL-modifieringar av källtabellen som ändrar kolumnstrukturen i källtabellen, såsom att lägga till eller ta bort en kolumn, eller ändra datatypen för en befintlig kolumn, behålls i cdc.ddl_history tabellen. Dessa förändringar kan rapporteras med hjälp av denna lagrade procedur. Poster görs cdc.ddl_history när fångstprocessen läser DDL-transaktionen i loggen.
Permissions
Kräver medlemskap i db_owner fixed database-rollen för att returnera rader för alla capture-instanser i databasen. För alla andra användare kräver SELECT-behörighet för alla insamlade kolumner i källtabellen och, om en gating-roll för insamlingsinstansen har definierats, medlemskap i den databasrollen.
Examples
Följande exempel lägger till en kolumn i källtabellen HumanResources.Employee och kör sedan den sys.sp_cdc_get_ddl_history lagrade proceduren för att rapportera DDL-ändringarna som gäller för källtabellen kopplad till fångstinstansen HumanResources_Employee.
USE AdventureWorks2022;
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