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