sys.sp_cdc_generate_wrapper_function (Transact-SQL)

Van toepassing op:SQL Server

Genereert scripts om wrapperfuncties te creëren voor de change data capture-queryfuncties die beschikbaar zijn in SQL Server. De API die in de gegenereerde wrappers wordt ondersteund, maakt het mogelijk het queryinterval als een datetime-interval te specificeren. Deze specificatie maakt de functie geschikt voor gebruik in veel opslagapplicaties, waaronder applicaties ontwikkeld door Integration Services-pakketontwerpers die change data capture-technologie gebruiken om de incrementele belasting te bepalen.

Voor meer informatie over de functies die door sys.sp_cdc_generate_wrapper_functionworden gegenereerd, zie sys.fn_all_changes_<capture_instance> en sys.fn_net_changes_<capture_instance>.

Transact-SQL syntaxis-conventies

Syntax

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

Arguments

[ @capture_instance = ] N'capture_instance'

De capture-instantie waarvoor scripts worden gegenereerd @capture_instance is sysname en heeft een standaardwaarde van NULL. Als een waarde wordt weggelaten of expliciet op NULLwordt gezet, worden wrapper-scripts gegenereerd voor alle capture-instanties.

[ @closed_high_end_point = ] closed_high_end_point

De vlagbit die aangeeft of wijzigingen met een commit time gelijk aan het hoge eindpunt worden opgenomen in het extractieinterval door de gegenereerde procedure. @closed_high_end_point is bit en heeft een standaardwaarde van 1, wat aangeeft dat het eindpunt moet worden opgenomen. Een waarde van 0 geeft aan dat alle commit-tijden strikt kleiner zijn dan het hoge eindpunt.

[ @column_list = ] N'column_list'

Een lijst van gevangen kolommen die zijn opgenomen in de resultaatset en die wordt teruggegeven door de wrapperfunctie. @column_list is nvarchar(max) en heeft een standaardwaarde van NULL. Wanneer NULL gespecificeerd, worden alle gevangen kolommen opgenomen.

[ @update_flag_list = ] N'update_flag_list'

Een lijst van opgenomen kolommen waarvoor een update-vlag is opgenomen in de resultaatset die door de wrapperfunctie wordt teruggegeven. @update_flag_list is nvarchar(max) en heeft een standaardwaarde van NULL. Wanneer NULL gespecificeerd, zijn er geen update-vlaggen inbegrepen.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Resultaatset

Kolomnaam Kolomtype Description
function_name Nvarchar(145) Naam van de gegenereerde functie.
create_script nvarchar(max) Het script dat de capture-instance wrapper-functie creëert.

Remarks

Het script dat de functie maakt om de all-changes query voor een capture-instantie te wrappen, wordt altijd gegenereerd. Als de capture-instantie net-change-queries ondersteunt, wordt ook het script om een wrapper voor deze query te genereren gegenereerd.

Examples

Het volgende voorbeeld laat zien hoe je wrappers kunt sys.sp_cdc_generate_wrapper_function maken voor alle wijzigingsdata-capturefuncties.

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

INSERT INTO @wrapper_functions
EXECUTE sys.sp_cdc_generate_wrapper_function;

DECLARE @create_script AS 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
        EXECUTE sp_executesql @create_script;
        FETCH #hfunctions INTO @create_script;
    END

CLOSE #hfunctions;

DEALLOCATE #hfunctions;