Compartilhar via


sys.sp_cdc_help_change_data_capture (Transact-SQL)

Aplica-se a: SQL Server

Retorna a configuração de captura dos dados de alteração para cada tabela habilitada para a captura de dados de alteração no banco de dados atual. Podem ser retornadas até duas linhas para cada tabela de origem, uma linha para cada instância de captura. 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_help_change_data_capture
    [ [ @source_schema = ] 'source_schema' ]
    [ , [ @source_name = ] 'source_name' ]
[ ; ]

Argumentos

@source_schema [ = ] 'source_schema'

O nome do esquema ao qual a tabela de origem pertence. @source_schema é sysname, com um padrão de NULL. Quando @source_schema é especificado, @source_name também deve ser especificado.

Se não for nulo, @source_schema deve existir no banco de dados atual.

Se @source_schema não for nulo, @source_name também deverá ser não nulo.

@source_name [ = ] 'source_name'

O nome da tabela de origem. @source_name é sysname, com um padrão de NULL. Quando @source_name é especificado, @source_schema também deve ser especificado.

Se não for nulo, @source_name deve existir no banco de dados atual.

Se @source_name não for nulo, @source_schema também deverá ser não nulo.

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.
object_id int ID da tabela de alteração associada à tabela de origem.
source_object_id int ID da tabela de origem.
start_lsn binary(10) LSN (Número de Sequência de Log) representando o ponto de extremidade inferior para consulta da tabela de alteração.

NULL = o ponto de extremidade baixo não foi estabelecido.
end_lsn binary(10) LSN representando o ponto de extremidade superior para consulta da tabela de alteração. No SQL Server 2012 (11.x), essa coluna é sempre NULL.
supports_net_changes bit O suporte à alteração de rede está habilitado.
has_drop_pending bit Não usado no SQL Server 2012 (11.x).
role_name sysname Nome da função de banco de dados usada para controlar o acesso aos dados de alteração.

NULL = uma função não é usada.
index_name sysname Nome do índice usado para identificar exclusivamente linhas na tabela de origem.
filegroup_name sysname Nome do grupo de arquivos no qual a tabela de alteração reside.

NULL = tabela de alteração no grupo de arquivos padrão do banco de dados
create_date datetime Data em que a instância de captura foi habilitada.
index_column_list nvarchar(max) Lista de colunas de índice usadas para identificar exclusivamente linhas na tabela de origem.
captured_column_list nvarchar(max) Lista de colunas de origem capturadas.

Comentários

Quando @source_schema e @source_name padrão como NULL ou são explicitamente definidos como NULL, esse procedimento armazenado retorna informações para todas as instâncias de captura de banco de dados às quais o chamador tem acesso SELECT. Quando @source_schema e @source_name não são nulos, somente as informações sobre a tabela habilitada nomeada específica são retornadas.

Permissões

Quando @source_schema e @source_name são NULL, a autorização do chamador determina quais tabelas habilitadas são incluídas no conjunto de resultados. Os chamadores devem ter a permissão SELECT em todas as colunas capturadas da instância de captura e também a associação em todas as funções associadas definidas para as informações sobre a tabela a serem incluídas.

Os membros da função de banco de dados db_owner podem exibir informações sobre todas as instâncias de captura definidas. Quando informações para uma tabela habilitada específica são solicitadas, os mesmos critérios de associação e de SELECT são aplicados para a tabela nomeada.

Exemplos

R. Retornar informações de configuração de captura de dados de alteração para uma tabela especificada

O exemplo a seguir retorna a configuração da captura de dados de alteração da tabela HumanResources.Employee.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_help_change_data_capture
    @source_schema = N'HumanResources',
    @source_name = N'Employee';
GO

B. Retornar informações de configuração de captura de dados de alteração para todas as tabelas

O exemplo a seguir retorna informações de configuração de todas as tabelas habilitadas no banco de dados que contêm dados de alteração que o chamador está autorizado a acessar.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_help_change_data_capture;
GO