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ções não está disponível em todas as edições do Microsoft SQL Server. Para obter uma lista de recursos com suporte nas edições do SQL Server, consulte Recursos compatíveis com as edições do SQL Server 2012.

Ícone de vínculo de tópico Convenções da 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.

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

Exige a associação à 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 AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_get_captured_columns 
    @capture_instance = N'HumanResources_Employee';
GO

Consulte também

Referência

sys.sp_cdc_help_change_data_capture (Transact-SQL)