Compartilhar via


sys.sp_cdc_generate_wrapper_function (Transact-SQL)

Aplica-se: SQL Server

Gera scripts para criar funções de wrapper para as funções de consulta de captura de dados de alteração que estão disponíveis no SQL Server. A API suportada nos wrappers gerados permite especificar o intervalo de consulta como um intervalo de data e hora. Essa especificação torna a função boa para uso em muitos aplicativos de armazenamento, incluindo os aplicativos desenvolvidos por designers de pacotes do Integration Services que estão usando a tecnologia de captura de dados de alterações para determinar a carga incremental.

Para obter mais informações sobre as funções geradas pelo sys.sp_cdc_generate_wrapper_function, consulte sys.fn_all_changes_<capture_instance> e sys.fn_net_changes_<capture_instance>.

Convenções de sintaxe de Transact-SQL

Sintaxe

sys.sp_cdc_generate_wrapper_function
    [ [ @capture_instance sysname = ] 'capture_instance' ]
    [ , [ @closed_high_end_point = ] closed_high_end_pt ]
    [ , [ @column_list = ] N'column_list' ]
    [ , [ @update_flag_list = ] N'update_flag_list' ]
[ ; ]

Argumentos

@capture_instance [ = ] 'capture_instance'

A instância de captura para a qual os scripts são gerados @capture_instance é sysname e tem um valor padrão de NULL. Se um valor for omitido ou definido explicitamente como NULL, scripts de wrapper serão gerados para todas as instâncias de captura.

@closed_high_end_point [ = ] high_end_pt_flag

O bit de sinalizador que indica se as alterações que têm um tempo de confirmação igual ao ponto de extremidade alto são incluídas no intervalo de extração pelo procedimento gerado. @closed_high_end_point é bit e tem um valor padrão de , o que indica que o ponto de 1extremidade deve ser incluído. Um valor de indica que todos os tempos de 0 confirmação são estritamente menores que o ponto de extremidade alto.

@column_list [ = ] N'column_list'

Uma lista de colunas capturadas incluídas no conjunto de resultados que é retornada pela função wrapper. @column_list é nvarchar(max) e tem um valor padrão de NULL. Quando NULL for especificado, todas as colunas capturadas serão incluídas.

@update_flag_list [ = ] N'update_flag_list'

Uma lista de colunas incluídas para as quais um sinalizador de atualização está incluído no conjunto de resultados retornado pela função wrapper. @update_flag_list é nvarchar(max) e tem um valor padrão de NULL. Quando NULL é especificado, nenhum sinalizador de atualização é incluído.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Nome da coluna Tipo de coluna Descrição
function_name Nvarchar(145) Nome da função gerada.
create_script nvarchar(max) O script que cria a função wrapper capture-instance.

Comentários

O script que cria a função para incluir a consulta de todas as alterações para uma instância de captura sempre é gerado. Se a instância de captura der suporte a consultas net-changes, o script para gerar um wrapper para essa consulta também será gerado.

Exemplos

O exemplo a seguir mostra como é possível usar sys.sp_cdc_generate_wrapper_function para criar wrappers para todas as funções de captura de dados de alteração.

DECLARE @wrapper_functions TABLE (
    function_name SYSNAME,
    create_script NVARCHAR(MAX)
);

INSERT INTO @wrapper_functions
EXEC sys.sp_cdc_generate_wrapper_function;

DECLARE @create_script NVARCHAR(MAX);

DECLARE #hfunctions CURSOR LOCAL FAST_FORWARD
FOR
SELECT create_script
FROM @wrapper_functions;

OPEN #hfunctions;

FETCH #hfunctions
INTO @create_script;

WHILE (@@fetch_status <> -1)
BEGIN
    EXEC sp_executesql @create_script

    FETCH #hfunctions
    INTO @create_script
END;

CLOSE #hfunctions;

DEALLOCATE #hfunctions;