Partilhar via


sys.sp_cdc_get_captured_columns (Transact-SQL)

Retorna informações de metadados de captura de dados de alteração das colunas de origem capturadas, localizadas pela instância de captura especificada. A captura de dados de alteração está disponível somente nas edições Enterprise, Developer e Evaluation do SQL Server 2008.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sys.sp_cdc_get_captured_columns 
    [ @capture_instance = ] 'capture_instance'

Argumentos

  • [ @capture\_instance = ] 'capture_instance'
    É o nome da instância de captura associada à tabela de origem. capture_instance é sysname e não pode ser NULL.

    Para fazer relatório nas instâncias de captura da tabela, execute o procedimento armazenado sys.sp_cdc_help_change_data_capture.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Nome da coluna

Tipo de dados

Descrição

source_schema

sysname

Nome do esquema de tabela de origem.

source_table

sysname

Nome da tabela de origem.

capture_instance

sysname

Nome da instância de captura.

column_name

sysname

Nome da coluna de origem capturada.

column_id

int

ID da coluna na tabela de origem.

ordinal_position

int

Posição da coluna na tabela de origem.

data_type

sysname

Tipo de dados da coluna.

character_maximum_length

int

Comprimento de máximo de caractere da coluna com base em caractere, caso contrário é NULL.

NUMERIC_PRECISION

tinyint

Precisão da coluna com base numérica, caso contrário é NULL.

numeric_precision_radix

smallint

Precisão base da coluna com base numérica, caso contrário é NULL.

numeric_scale

int

Escala coluna com base numérica, caso contrário é NULL.

datetime_precision

smallint

Precisão da coluna com base em data e hora, caso contrário é NULL.

Comentários

Use sys.sp_cdc_get_captured_columns para obter informações de coluna sobre as colunas capturadas retornadas ao consultar as funções de instância de captura cdc.fn_cdc_get_all_changes_<capture_instance> ou cdc.fn_cdc_get_net_changes_<capture_instance> Os nomes de coluna, ID e posição permanecem constantes durante a duração da instância de captura. Somente o tipo de dados de coluna é alterado quando o tipo de dados da coluna de origem subjacente na tabela controlada é alterado. Colunas adicionadas ou excluídas de uma tabela de origem não têm nenhum impacto nas colunas capturadas de instâncias de captura existentes. Para obter mais informações, consulte Configurando o Change Data Capture.

Use sys.sp_cdc_get_ddl_history para obter informações sobre instruções de linguagem de definição de dados (DDL) aplicadas a uma tabela de origem. Qualquer mudança de DDL que modificou a estrutura de uma coluna de origem localizada é retornada no conjunto de resultados.

Permissões

Requer associação na função de banco de dados fixa db_owner. Para todos os outros usuários, requer a permissão SELECT em todas as colunas capturadas na tabela de origem e, se uma função associada para a instância de captura tiver sido definida, faça associação nessa função de banco de dados. Quando o chamador não tiver permissão para exibir os dados de origem, a função retornará o erro 22981 (O objeto não existe ou o acesso a ele é negado).

Exemplos

O exemplo a seguir retorna informações sobre as colunas capturadas na instância de captura HumanResources_Employee.

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