Compartir a través de


sys.sp_cdc_generate_wrapper_function (Transact-SQL)

Se aplica a: SQL Server

Genera scripts para crear funciones contenedoras para las funciones de consulta de captura de datos modificados que están disponibles en SQL Server. La API admitida en los contenedores generados permite especificar el intervalo de consulta como un intervalo de fecha y hora. Esta especificación hace que la función sea adecuada para su uso en muchas aplicaciones de almacenamiento, incluidas las aplicaciones desarrolladas por diseñadores de paquetes de Integration Services que usan la tecnología de captura de datos modificados para determinar la carga incremental.

Para obtener más información sobre las funciones generadas por sys.sp_cdc_generate_wrapper_function, vea sys.fn_all_changes_<capture_instance> y sys.fn_net_changes_<capture_instance>.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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'

La instancia de captura que se generan scripts para @capture_instance es sysname y tiene un valor predeterminado de NULL. Si se omite o se establece explícitamente un valor en NULL, se generan scripts de contenedor para todas las instancias de captura.

[ @closed_high_end_point = ] high_end_pt_flag

Bit de marca que indica si los cambios que tienen un tiempo de confirmación igual al punto de conexión alto se incluyen dentro del intervalo de extracción por el procedimiento generado. @closed_high_end_point es bit y tiene un valor predeterminado de 1, que indica que se debe incluir el punto de conexión. Un valor de indica que todos los tiempos de 0 confirmación son estrictamente menores que el punto de conexión alto.

[ @column_list = ] N'column_list'

Lista de columnas capturadas incluidas en el conjunto de resultados devuelto por la función contenedora. @column_list es nvarchar(max) y tiene un valor predeterminado de NULL. Cuando NULL se especifica , se incluyen todas las columnas capturadas.

[ @update_flag_list = ] N'update_flag_list'

Lista de columnas incluidas para las que se incluye una marca de actualización en el conjunto de resultados devuelto por la función contenedora. @update_flag_list es nvarchar(max) y tiene un valor predeterminado de NULL. Cuando NULL se especifica , no se incluyen marcas de actualización.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Nombre de la columna Tipo de columna Descripción
function_name nvarchar(145) Nombre de la función generada.
create_script nvarchar(max) Script que crea la función contenedora capture-instance.

Comentarios

El script que crea la función para contener la consulta de todos los cambios para una instancia de captura siempre se genera. Si la instancia de captura admite consultas net-changes, también se genera el script para generar un contenedor para esta consulta.

Ejemplos

El ejemplo siguiente muestra cómo se puede utilizar sys.sp_cdc_generate_wrapper_function para crear contenedores para todas las funciones de captura de datos modificados.

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;