Поделиться через


sys.sp_cdc_generate_wrapper_function (Transact-SQL)

Формирует скрипты для создания функций-оболочек для функций запроса к системе отслеживания измененных данных, имеющихся в SQL Server. API-интерфейс, который поддерживается в формируемых оболочках, позволяет указать интервал запроса как интервал datetime. Поэтому такую функцию полезно использовать во многих приложениях хранилищ данных, включая разработанные создателями пакета служб Службы Integration Services, которые используют технологию системы отслеживания измененных данных для определения добавочной нагрузки.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Cинтаксические обозначения в Transact-SQL

Синтаксис

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'
    Экземпляр отслеживания, для которого будут формироваться скрипты. capture_instance имеет тип sysname и значение NULL по умолчанию. Если его значение пропущено либо явно определено как NULL, скрипты оболочки формируются для всех экземпляров отслеживания.

  • [ @closed\_high\_end\_point= ] high_end_pt_flag
    Битовый флаг, указывающий, подлежат ли изменения, зафиксированные в момент времени, совпадающий с верхней конечной точкой, включению сформированной процедурой в интервал извлечения. high_end_pt_flag имеет тип bit и значение по умолчанию 1; это означает, что конечная точка включается. Значение 0 указывает на то, что все значения времени фиксации должны быть строго меньше верхней конечной точки.

  • [ @column\_list= ] 'column_list'
    Список отслеживаемых столбцов, подлежащих включению в результирующий набор, возвращаемый функцией-оболочкой. column_list имеет тип nvarchar(max) и значение NULL по умолчанию. При значении NULL включаются все отслеживаемые столбцы.

  • [ @update\_flag\_list= ] 'update_flag_list'
    Список включаемых столбцов, флаг обновления для которых включается в результирующий набор, возвращаемый функцией-оболочкой. update_flag_list имеет тип nvarchar(max) и значение NULL по умолчанию. При значении NULL флаги обновления не включаются.

Значения кода возврата

0 (успешное завершение) или 1 (неудачное завершение)

Результирующие наборы

Имя столбца

Тип столбца

Описание

function_name

nvarchar(145)

Имя формируемой функции.

create_script

nvarchar(max)

Скрипт, создающий функцию-оболочку экземпляра отслеживания.

Замечания

Скрипт, создающий функцию-оболочку для запроса всех изменений на экземпляре отслеживания, формируется обязательно. Если экземпляр отслеживания поддерживает запросы сетевых изменений, также формируется скрипт создания оболочки для такого запроса.

Примеры

В следующем примере показано, как использовать системную хранимую процедуру sys.sp_cdc_generate_wrapper_function для создания оболочек для всех функций системы отслеживания измененных данных.

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;

См. также

Справочник

Хранимые процедуры системы отслеживания измененных данных (Transact-SQL)

Основные понятия

Система отслеживания измененных данных (SSIS)