Applies to: SQL Server
Generates scripts to create wrapper functions for the change data capture query functions that are available in SQL Server. The API supported in the generated wrappers enables specifying the query interval as a datetime interval. This specification makes the function good for use in many warehousing applications, including those applications developed by Integration Services package designers who are using change data capture technology to determine incremental load.
For more information on the functions generated by
sys.sp_cdc_generate_wrapper_function, see sys.fn_all_changes_<capture_instance> and sys.fn_net_changes_<capture_instance>.
Transact-SQL syntax conventions
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'
[ @capture_instance= ] 'capture_instance'
Is the capture instance that scripts are generated for capture_instance is sysname and has a default value of NULL. If a value is omitted or explicitly set to NULL, wrapper scripts are generated for all capture instances.
[ @closed_high_end_point= ] high_end_pt_flag
Is the flag bit that indicates whether changes that have a commit time equal to the high endpoint are included within the extraction interval by the generated procedure? high_end_pt_flag is bit and has a default value of 1, which indicates that the endpoint should be included. A value of 0 indicates that all commit times are strictly less than the high endpoint.
[ @column_list= ] 'column_list'
Is a list of captured columns included in the result set that is returned by the wrapper function. column_list is nvarchar(max) and has a default value of NULL. When NULL is specified, all captured columns are included.
[ @update_flag_list= ] 'update_flag_list'
Is a list of included columns for which an update flag is included in the result set returned by the wrapper function? update_flag_list is nvarchar(max) and has a default value of NULL. When NULL is specified, no update flags are included.
Return Code Values
0 (success) or 1 (failure)
|Column name||Column type||Description|
|function_name||nvarchar(145)||Name of the generated function.|
|create_script||nvarchar(max)||Is the script that creates the capture-instance wrapper function?|
The script that creates the function to wrap the all-changes query for a capture instance is always generated. If the capture instance supports net-changes queries, the script to generate a wrapper for this query is also generated.
The following example show how you can use
sys.sp_cdc_generate_wrapper_function to create wrappers for all the change data capture functions.
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;
Change Data Capture Stored Procedures (Transact-SQL)
Change Data Capture (SSIS)