sys.sp_cdc_help_change_data_capture (Transact-SQL)

Se aplica a:SQL Server

Devuelve la configuración de captura de datos del cambio para cada tabla habilitada para la captura de datos del cambio en la base de datos actual. Se pueden devolver hasta dos filas para cada tabla de origen, una fila para cada instancia de captura. La captura de datos modificados no está disponible en todas las ediciones de SQL Server. Para obtener una lista de las características admitidas por las ediciones de SQL Server, consulte Ediciones y características admitidas de SQL Server 2022.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sys.sp_cdc_help_change_data_capture
    [ [ @source_schema = ] 'source_schema' ]
    [ , [ @source_name = ] 'source_name' ]
[ ; ]

Argumentos

[ @source_schema = ] 'source_schema'

Nombre del esquema al que pertenece la tabla de origen. @source_schema es sysname, con un valor predeterminado de NULL. Cuando se especifica @source_schema , también se debe especificar @source_name .

Si no es null, @source_schema debe existir en la base de datos actual.

Si @source_schema no es NULL, @source_name también debe ser distinto de null.

[ @source_name = ] 'source_name'

El nombre de la tabla de origen. @source_name es sysname, con un valor predeterminado de NULL. Cuando se especifica @source_name , también se debe especificar @source_schema .

Si no es null, @source_name debe existir en la base de datos actual.

Si @source_name no es NULL, @source_schema también debe ser distinto de null.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Nombre de la columna Tipo de datos Descripción
source_schema sysname Nombre del esquema de la tabla de origen.
source_table sysname Nombre de la tabla de origen.
capture_instance sysname Nombre de la instancia de captura.
object_id int Id. de la tabla de cambios asociada a la tabla de origen.
source_object_id int Id. de la tabla de origen.
start_lsn binary(10) Número de flujo de registro (LSN) que representa el extremo bajo para consultar la tabla de cambio.

NULL = no se ha establecido el punto de conexión bajo.
end_lsn binary(10) LSN que representa el extremo alto para consultar la tabla de cambio. En SQL Server 2012 (11.x), esta columna siempre es NULL.
supports_net_changes bit Se habilita la compatibilidad del cambio de red.
has_drop_pending bit No se usa en SQL Server 2012 (11.x).
role_name sysname Nombre del rol de base de datos utilizado para controlar el acceso a los datos de cambio.

NULL = no se usa un rol.
index_name sysname Nombre del índice utilizado para identificar de forma exclusiva las filas en la tabla de origen.
filegroup_name sysname Nombre del grupo de archivos en que reside la tabla de cambio.

NULL = la tabla de cambio está en el grupo de archivos predeterminado de la base de datos.
create_date datetime Fecha en que se habilitó la instancia de captura.
index_column_list nvarchar(max) Lista de las columnas de índice utilizada para identificar de forma exclusiva las filas en la tabla de origen.
captured_column_list nvarchar(max) Lista de las columnas de origen capturadas.

Comentarios

Cuando tanto @source_schema como @source_name valor predeterminado en NULL, o se establecen explícitamente en NULL, este procedimiento almacenado devuelve información para todas las instancias de captura de base de datos a las que el autor de la llamada tiene acceso SELECT. Cuando @source_schema y @source_name no son NULL, solo se devuelve información sobre la tabla con nombre habilitada específica.

Permisos

Cuando @source_schema y @source_name son NULL, la autorización del autor de la llamada determina qué tablas habilitadas se incluyen en el conjunto de resultados. Los autores de las llamadas deben tener el permiso SELECT en todas las columnas capturadas de la instancia de captura y también ser miembros de cualquier rol de acceso definido para la información de la tabla que se va a incluir.

Los miembros del rol de base de datos db_owner pueden ver información sobre todas las instancias de captura definidas. Cuando se solicita información para una tabla habilitada concreta, para la tabla con nombre se aplican los mismos criterios de pertenencia y SELECT.

Ejemplos

A Devolver información de configuración de captura de datos modificados para una tabla especificada

El siguiente ejemplo devuelve la configuración de captura de datos del cambio para la tabla HumanResources.Employee.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_help_change_data_capture
    @source_schema = N'HumanResources',
    @source_name = N'Employee';
GO

B. Devolver información de configuración de captura de datos modificados para todas las tablas

En el ejemplo siguiente se devuelve información de configuración para todas las tablas habilitadas en la base de datos que contiene los datos de cambios a los que el autor de las llamadas tiene autorizado el acceso.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_help_change_data_capture;
GO