sys.sp_cdc_get_captured_columns (T-SQL)

Berlaku untuk:SQL Server

Mengembalikan informasi metadata pengambilan data perubahan untuk kolom sumber yang diambil yang dilacak oleh instans pengambilan yang ditentukan. Mengubah pengambilan data tidak tersedia di setiap edisi SQL Server. Untuk daftar fitur yang didukung oleh edisi SQL Server, lihat Edisi dan fitur yang didukung SQL Server 2022.

Konvensi sintaks transact-SQL

Sintaks

sys.sp_cdc_get_captured_columns
    [ @capture_instance = ] 'capture_instance'
[ ; ]

Argumen

[ @capture_instance = ] 'capture_instance'

Nama instans pengambilan yang terkait dengan tabel sumber. @capture_instance adalah sysname dan tidak boleh NULL.

Untuk melaporkan instans pengambilan untuk tabel, jalankan prosedur tersimpan sys.sp_cdc_help_change_data_capture.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Tataan hasil

Nama kolom Jenis data Deskripsi
source_schema nama sysname Nama skema tabel sumber.
source_table nama sysname Nama tabel sumber.
capture_instance nama sysname Nama instans pengambilan.
column_name nama sysname Nama kolom sumber yang diambil.
column_id int ID kolom dalam tabel sumber.
column_ordinal int Posisi kolom dalam tabel sumber.
data_type nama sysname Jenis data kolom.
character_maximum_length int Panjang karakter maksimum kolom berbasis karakter; jika tidak, NULL.
numeric_precision kecil Presisi kolom jika berbasis numerik; jika tidak, NULL.
numeric_precision_radix smallint Radiks presisi kolom jika berbasis numerik; jika tidak, NULL.
numeric_scale int Skala kolom jika berbasis numerik; jika tidak, NULL.
datetime_precision smallint Presisi kolom jika berbasis tanggalwaktu; jika tidak, NULL.

Keterangan

Gunakan sys.sp_cdc_get_captured_columns untuk mendapatkan informasi kolom tentang kolom yang diambil yang dikembalikan dengan mengkueri fungsi kueri instans pengambilan cdc.fn_cdc_get_all_changes_<capture_instance> atau cdc.fn_cdc_get_net_changes_<capture_instance>. Nama kolom, ID, dan posisi tetap konstan selama masa pakai instans pengambilan. Hanya tipe data kolom yang berubah saat tipe data kolom sumber yang mendasar dalam tabel terlacak berubah. Kolom yang ditambahkan ke atau dihilangkan dari tabel sumber, tidak berpengaruh pada kolom yang diambil dari instans tangkapan yang ada.

Gunakan sys.sp_cdc_get_ddl_history untuk mendapatkan informasi tentang pernyataan bahasa definisi data (DDL) yang diterapkan ke tabel sumber. Setiap perubahan DDL yang memodifikasi struktur kolom sumber terlacak dikembalikan dalam tataan hasil.

Izin

Memerlukan keanggotaan dalam peran database tetap db_owner . Untuk semua pengguna lain, memerlukan izin SELECT pada semua kolom yang diambil dalam tabel sumber dan, jika peran pembatasan untuk instans pengambilan ditentukan, keanggotaan dalam peran database tersebut. Ketika pemanggil tidak memiliki izin untuk melihat data sumber, fungsi mengembalikan Kesalahan 22981 (Object doesn't exist or access is denied.).

Contoh

Contoh berikut mengembalikan informasi tentang kolom yang diambil dalam HumanResources_Employee instans pengambilan.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_get_captured_columns
    @capture_instance = N'HumanResources_Employee';
GO