sys.sp_cdc_generate_wrapper_function (T-SQL)

Berlaku untuk:SQL Server

Menghasilkan skrip untuk membuat fungsi pembungkus untuk mengubah fungsi kueri penangkapan data yang tersedia di SQL Server. API yang didukung dalam pembungkus yang dihasilkan memungkinkan menentukan interval kueri sebagai interval tanggalwaktu. Spesifikasi ini membuat fungsi ini baik untuk digunakan dalam banyak aplikasi pergudangan, termasuk aplikasi yang dikembangkan oleh perancang paket Layanan Integrasi yang menggunakan teknologi penangkapan data perubahan untuk menentukan beban bertambah bertahap.

Untuk informasi selengkapnya tentang fungsi yang dihasilkan oleh sys.sp_cdc_generate_wrapper_function, lihat sys.fn_all_changes_<capture_instance> (Transact-SQL) dan sys.fn_net_changes_<capture_instance> (Transact-SQL).

Konvensi sintaks transact-SQL

Sintaks

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' ]
[ ; ]

Argumen

[ @capture_instance = ] 'capture_instance'

Instans pengambilan yang dihasilkan skrip untuk @capture_instance adalah sysname dan memiliki nilai default NULL. Jika nilai dihilangkan atau secara eksplisit diatur ke NULL, skrip pembungkus dihasilkan untuk semua instans pengambilan.

[ @closed_high_end_point = ] high_end_pt_flag

Bit bendera yang menunjukkan apakah perubahan yang memiliki waktu penerapan sama dengan titik akhir tinggi disertakan dalam interval ekstraksi oleh prosedur yang dihasilkan. @closed_high_end_point adalah bit dan memiliki nilai 1default , yang menunjukkan bahwa titik akhir harus disertakan. Nilai 0 menunjukkan bahwa semua waktu penerapan benar-benar kurang dari titik akhir tinggi.

[ @column_list = ] N'column_list'

Daftar kolom yang diambil yang disertakan dalam kumpulan hasil yang dikembalikan oleh fungsi pembungkus. @column_list adalah nvarchar(max) dan memiliki nilai default NULL. Ketika NULL ditentukan, semua kolom yang diambil disertakan.

[ @update_flag_list = ] N'update_flag_list'

Daftar kolom yang disertakan yang bendera pembaruannya disertakan dalam tataan hasil yang dikembalikan oleh fungsi pembungkus. @update_flag_list adalah nvarchar(max) dan memiliki nilai default NULL. Ketika NULL ditentukan, tidak ada bendera pembaruan yang disertakan.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Tataan hasil

Nama kolom Jenis kolom Deskripsi
function_name nvarchar(145) Nama fungsi yang dihasilkan.
create_script nvarchar(maks) Skrip yang membuat fungsi pembungkus instans tangkapan.

Keterangan

Skrip yang membuat fungsi untuk membungkus kueri semua perubahan untuk instans pengambilan selalu dihasilkan. Jika instans pengambilan mendukung kueri perubahan bersih, skrip untuk menghasilkan pembungkus untuk kueri ini juga dihasilkan.

Contoh

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan sys.sp_cdc_generate_wrapper_function untuk membuat pembungkus untuk semua fungsi penangkapan data perubahan.

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;