Compartir a través de


sys.sp_cdc_get_captured_columns (Transact-SQL)

Devuelve la información de los metadatos de captura de datos de cambio para las columnas de origen de las que la instancia de captura especificada ha realizado un seguimiento. La captura de datos modificados no está disponible en todas las ediciones de Microsoft SQL Server. Para obtener una lista de características admitidas por las ediciones de SQL Server, vea Características compatibles con las ediciones de SQL Server 2012.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sys.sp_cdc_get_captured_columns 
    [ @capture_instance = ] 'capture_instance'

Argumentos

  • [ @capture\_instance = ] 'capture_instance'
    Es el nombre de la instancia de captura asociada a una tabla de origen. capture_instance es de tipo sysname y no puede ser NULL.

    Para informar sobre las instancias de captura para la tabla, ejecute el procedimiento almacenado de sys.sp_cdc_help_change_data_capture.

Valores de código de retorno

0 (correcto) ó 1 (error)

Conjuntos de resultados

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

column_name

sysname

Nombre de la columna de origen capturada.

column_id

int

Id. de la columna en la tabla de origen.

ordinal_position

int

Posición de la columna dentro de la tabla de origen.

data_type

sysname

Tipo de datos de la columna.

character_maximum_length

int

Longitud máxima de caracteres de la columna basada en caracteres; en caso contrario, es NULL.

numeric_precision

tinyint

Precisión de la columna, si está basada en números; en caso contrario, es NULL.

numeric_precision_radix

smallint

Base de precisión de la columna, si está basada en números; en caso contrario, es NULL.

numeric_scale

int

Escala de la columna, si está basada en números; en caso contrario, es NULL.

datetime_precision

smallint

Precisión de la columna, si está basada en fecha y hora; en caso contrario, es NULL.

Comentarios

Utilice sys.sp_cdc_get_captured_columns para obtener información acerca de las columnas capturadas devueltas por las funciones de consulta de instancia de captura cdc.fn_cdc_get_all_changes_<capture_instance> o cdc.fn_cdc_get_net_changes_<capture_instance>. Los nombres de columna, Id. y posición siguen siendo constantes para la duración de la instancia de captura. Solo el tipo de datos de columna cambia cuando el tipo de datos de la columna de origen subyacente en la tabla de la que se ha realizado un seguimiento cambia. Las columnas agregadas o quitadas de una tabla de origen no tienen ningún impacto en las columnas capturadas de instancias de captura existentes.

Use sys.sp_cdc_get_ddl_history para obtener información sobre las instrucciones de lenguaje de definición de datos (DDL) aplicadas a una tabla de origen. Cualquier cambio de DDL que ha modificado la estructura de una columna de origen de la que se ha realizado un seguimiento se devuelve en el conjunto de resultados.

Permisos

Requiere la pertenencia al rol fijo de base de datos db_owner. Para el resto de usuarios, requiere el permiso SELECT en todas las columnas capturadas en la tabla de origen y, si se ha definido un rol de acceso para la instancia de captura, la pertenencia a ese rol de base de datos. Cuando el autor de la llamada no tiene permiso para ver los datos del origen, la función devuelve el error 22981 (El objeto no existe o se ha denegado el acceso).

Ejemplos

El siguiente ejemplo devuelve información acerca de las columnas capturadas en la instancia de captura HumanResources_Employee.

USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_get_captured_columns 
    @capture_instance = N'HumanResources_Employee';
GO

Vea también

Referencia

sys.sp_cdc_help_change_data_capture (Transact-SQL)