sys.sp_cdc_generate_wrapper_function (Transact-SQL)

Genera script per creare funzioni wrapper per funzioni di query Change Data Capture disponibili in SQL Server. L'API supportata nei wrapper generati consente di specificare l'intervallo di query come un intervallo di data/ora. In questo modo la funzione può essere utilizzata in numerose applicazioni di data warehousing, ad esempio quelle sviluppate da progettisti di pacchetti di Integration Services che utilizzano la tecnologia Change Data Capture per determinare il carico incrementale.

Icona di collegamento a un argomentoConvenzioni della 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 = ] 'column_list'
    [ , [ @update_flag_list = ] 'update_flag_list'

Argomenti

  • [ @capture_instance = ] 'capture_instance'
    Istanza di acquisizione per la quale gli script devono essere generati. capture_instance è di tipo sysname e il valore predefinito è NULL. Se il valore viene omesso oppure veine impostato in modo esplicito su NULL, gli script del wrapper vengono generati per tutte le istanze di acquisizione

  • [@ closed_high_end_point =] high_end_pt_flag
    Flag che indica se modifiche per cui l'ora di commit è uguale all'endpoint superiore devono essere incluse nell'intervallo di estrazione dalla procedura generata. high_end_pt_flag è di tipo bit. Il valore predefinito è 1, che indica che l'endpoint deve essere incluso. Il valore 0 indica che tutte le ore di commit saranno minori dell'endpoint superiore.

  • [ @column_list = ] 'column_list'
    Elenco di colonne acquisite da includere nel set di risultati restituito dalla funzione wrapper. column_list è di tipo nvarchar(max) e il valore predefinito è NULL. Si si specifica NULL, vengono incluse tutte le colonne acquisite.

  • [ @update_flag_list = ] 'update_flag_list'
    Elenco di colonne incluse per cui viene inserito un flag nel set di risulttai restituiti dalla funzione wrapper. update_flag_list è di tipo nvarchar(max) e il valore predefinito è NULL. Se si specifica NULL, non viene incluso alcun flag.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

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 relativa all'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 query relative alle modifiche totali, lo script per generare un wrapper per tale tipo di query viene comunque creato.

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;