sys.sp_cdc_get_captured_columns (Transact-SQL)
Devuelve la información de los metadatos de captura de datos del cambio para las columnas de origen de las que la instancia captura especificada ha realizado un seguimiento. La captura de datos modificados sólo está disponible en las ediciones Enterprise, Developer y Evaluation de SQL Server 2008.
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 con 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) o 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. |
Notas
Utilice sys.sp_cdc_get_captured_columns para obtener información de columna sobre las columnas capturadas devueltas consultando las funciones de la 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. Sólo 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. Para obtener más información, vea Configuración del mecanismo de captura de datos modificados.
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
Debe pertenecer a la función fija 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 una función de puerta de enlace para la instancia de captura, la pertenencia a esa función 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 AdventureWorks;
GO
EXECUTE sys.sp_cdc_get_captured_columns
@capture_instance = N'HumanResources_Employee';
GO
Vea también