Applies to: SQL Server
Returns the change data capture configuration for each table enabled for change data capture in the current database. Up to two rows can be returned for each source table, one row for each capture instance. Change data capture isn't available in every edition of SQL Server. For a list of features that are supported by the editions of SQL Server, see Editions and supported features of SQL Server 2022.
sys.sp_cdc_help_change_data_capture [ [ @source_schema = ] 'source_schema' ] [ , [ @source_name = ] 'source_name' ] [ ; ]
[ @source_schema = ] 'source_schema'
The name of the schema in which the source table belongs. @source_schema is sysname, with a default of
NULL. When @source_schema is specified, @source_name must also be specified.
If non-null, @source_schema must exist in the current database.
If @source_schema is non-null, @source_name must also be non-null.
[ @source_name = ] 'source_name'
The name of the source table. @source_name is sysname, with a default of
NULL. When @source_name is specified, @source_schema must also be specified.
If non-null, @source_name must exist in the current database.
If @source_name is non-null, @source_schema must also be non-null.
Return code values
0 (success) or
|Column name||Data type||Description|
||sysname||Name of the source table schema.|
||sysname||Name of the source table.|
||sysname||Name of the capture instance.|
||int||ID of the change table associated with the source table.|
||int||ID of the source table.|
||binary(10)||Log sequence number (LSN) representing the low endpoint for querying the change table.
NULL = the low endpoint hasn't been established.
||binary(10)||LSN representing the high endpoint for querying the change table. In SQL Server 2012 (11.x), this column is always NULL.|
||bit||Net change support is enabled.|
||bit||Not used in SQL Server 2012 (11.x).|
||sysname||Name of the database role used to control access to the change data.
NULL = a role isn't used.
||sysname||Name of the index used to uniquely identify rows in the source table.|
||sysname||Name of the filegroup in which the change table resides.
NULL = change table is in the default filegroup of the database.
||datetime||Date that the capture instance was enabled.|
||nvarchar(max)||List of index columns used to uniquely identify rows in the source table.|
||nvarchar(max)||List of captured source columns.|
When both @source_schema and @source_name default to NULL, or are explicitly set the NULL, this stored procedure returns information for all of the database capture instances that the caller has SELECT access to. When @source_schema and @source_name are non-null, only information on the specific named enabled table is returned.
When @source_schema and @source_name are NULL, the caller's authorization determines which enabled tables are included in the result set. Callers must have SELECT permission on all of the captured columns of the capture instance and also membership in any defined gating roles for the table information to be included.
Members of the db_owner database role can view information about all defined capture instances. When information for a specific enabled table is requested, the same SELECT and membership criteria are applied for the named table.
A. Return change data capture configuration information for a specified table
The following example returns the change data capture configuration for the
USE AdventureWorks2022; GO EXECUTE sys.sp_cdc_help_change_data_capture @source_schema = N'HumanResources', @source_name = N'Employee'; GO
B. Return change data capture configuration information for all tables
The following example returns configuration information for all enabled tables in the database that contain change data that the caller is authorized to access.
USE AdventureWorks2022; GO EXECUTE sys.sp_cdc_help_change_data_capture; GO