Condividi tramite


sys.sp_cdc_generate_wrapper_function (Transact-SQL)

Si applica a: SQL Server

Genera script per creare funzioni wrapper per le funzioni di query change data capture disponibili in SQL Server. L'API supportata nei wrapper generati consente di specificare l'intervallo di query come intervallo datetime. Questa specifica rende la funzione valida per l'uso in molte applicazioni di warehousing, incluse quelle sviluppate dalle finestre di progettazione pacchetti di Integration Services che usano la tecnologia change data capture per determinare il carico incrementale.

Per altre informazioni sulle funzioni generate da sys.sp_cdc_generate_wrapper_function, vedere sys.fn_all_changes_<capture_instance> e sys.fn_net_changes_<capture_instance>.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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' ]
[ ; ]

Argomenti

[ @capture_instance = ] 'capture_instance'

L'istanza di acquisizione generata dagli script per @capture_instance è sysname e ha un valore predefinito .NULL Se un valore viene omesso o impostato in modo esplicito su NULL, gli script wrapper vengono generati per tutte le istanze di acquisizione.

[ @closed_high_end_point = ] high_end_pt_flag

Bit del flag che indica se le modifiche con un tempo di commit uguale all'endpoint elevato vengono incluse nell'intervallo di estrazione dalla procedura generata. @closed_high_end_point è bit e ha un valore predefinito , 1che indica che l'endpoint deve essere incluso. Un valore indica che tutti i tempi di 0 commit sono rigorosamente inferiori all'endpoint elevato.

[ @column_list = ] N'column_list'

Elenco di colonne acquisite incluse nel set di risultati restituito dalla funzione wrapper. @column_list è nvarchar(max) e ha un valore predefinito .NULL Quando NULL viene specificato, vengono incluse tutte le colonne acquisite.

[ @update_flag_list = ] N'update_flag_list'

Elenco di colonne incluse per le quali è incluso un flag di aggiornamento nel set di risultati restituito dalla funzione wrapper. @update_flag_list è nvarchar(max) e ha un valore predefinito .NULL Quando NULL viene specificato, non sono inclusi flag di aggiornamento.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nome colonna Tipo di colonna Descrizione
function_name nvarchar(145) Nome della funzione generata.
create_script nvarchar(max) Script che crea la funzione wrapper dell'istanza di acquisizione.

Osservazioni:

Lo script che crea la funzione per eseguire il wrapping delle query relative a tutte le modifiche per un'istanza di acquisizione viene sempre generato. Se l'istanza di acquisizione supporta le query net-changes, viene generato anche lo script per generare un wrapper per questa query.

Esempi

Nell'esempio seguente viene illustrato come utilizzare sys.sp_cdc_generate_wrapper_function per creare wrapper per tutte le funzioni di Change Data Capture.

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;