sys.sp_cdc_get_ddl_history (T-SQL)
Berlaku untuk: SQL Server
Mengembalikan riwayat perubahan bahasa definisi data (DDL) yang terkait dengan instans pengambilan yang ditentukan karena pengambilan data perubahan diaktifkan untuk instans pengambilan tersebut. 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.
Sintaks
sys.sp_cdc_get_ddl_history [ @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.
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. |
required_column_update |
bit | Menunjukkan perubahan DDL yang memerlukan kolom dalam tabel perubahan yang akan diubah untuk mencerminkan perubahan tipe data yang dilakukan pada kolom sumber. |
ddl_command |
nvarchar(maks) | Pernyataan DDL diterapkan ke tabel sumber. |
ddl_lsn |
biner(10) | Nomor urutan log (LSN) yang terkait dengan perubahan DDL. |
ddl_time |
datetime | Waktu yang terkait dengan perubahan DDL. |
Keterangan
Modifikasi DDL pada tabel sumber yang mengubah struktur kolom tabel sumber, seperti menambahkan atau menghilangkan kolom, atau mengubah tipe data kolom yang ada, dipertahankan dalam tabel cdc.ddl_history . Perubahan ini dapat dilaporkan dengan menggunakan prosedur tersimpan ini. Entri masuk cdc.ddl_history
dibuat pada saat proses pengambilan membaca transaksi DDL dalam log.
Izin
Memerlukan keanggotaan dalam peran database tetap db_owner untuk mengembalikan baris untuk semua instans pengambilan dalam database. 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.
Contoh
Contoh berikut menambahkan kolom ke tabel HumanResources.Employee
sumber lalu menjalankan prosedur tersimpan untuk melaporkan perubahan DDL yang berlaku untuk tabel sumber yang terkait dengan instans sys.sp_cdc_get_ddl_history
HumanResources_Employee
pengambilan .
USE AdventureWorks2022;
GO
ALTER TABLE HumanResources.Employee
ADD Test_Column INT NULL;
GO
-- Pause 10 seconds to allow the event to be logged.
WAITFOR DELAY '00:00:10';
GO
EXECUTE sys.sp_cdc_get_ddl_history
@capture_instance = 'HumanResources_Employee';
GO
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk