sys.sp_cdc_get_captured_columns (Transact-SQL)
Aplica-se: SQL Server
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 não está disponível em todas as edições do SQL Server. Para obter uma lista de recursos com suporte nas edições do SQL Server, confira Edições e recursos com suporte no SQL Server 2022.
Convenções de sintaxe de 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 a uma tabela de origem. @capture_instance é sysname e não pode ser NULL
.
Para relatar as instâncias de captura da tabela, execute o procedimento armazenado sys.sp_cdc_help_change_data_capture .
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Conjunto 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. |
column_ordinal |
int | Posição da coluna na tabela de origem. |
data_type |
sysname | Tipo de dados da coluna. |
character_maximum_length |
int | Comprimento máximo de caracteres da coluna baseada em caracteres; caso contrário, NULL . |
numeric_precision |
tinyint | Precisão da coluna se baseada em números; caso contrário, NULL . |
numeric_precision_radix |
smallint | Base de precisão da coluna se baseada em números; caso contrário, NULL . |
numeric_scale |
int | Escala da coluna, se baseada em números; caso contrário, NULL . |
datetime_precision |
smallint | Precisão da coluna se baseada 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 consultando as funções de consulta da 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. As colunas adicionadas ou descartadas de uma tabela de origem não têm efeito sobre as colunas capturadas de instâncias de captura existentes.
Use sys.sp_cdc_get_ddl_history para obter informações sobre instruções DDL (linguagem de definição de dados) 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 tem permissão para exibir os dados de origem, a função retorna o Erro 22981 (Object doesn't exist or access is denied.
).
Exemplos
O exemplo a seguir retorna informações sobre as colunas capturadas na instância de captura HumanResources_Employee
.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_get_captured_columns
@capture_instance = N'HumanResources_Employee';
GO