Bagikan melalui


sys.sp_flush_CT_internal_table_on_demand (T-SQL)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Prosedur tersimpan ini memungkinkan Anda membersihkan tabelchange_tracking_objectid samping () secara manual untuk tabel dalam database tempat pelacakan perubahan diaktifkan. Jika parameter TableToClean tidak diteruskan, maka proses ini membersihkan semua tabel samping untuk semua tabel dalam database tempat pelacakan perubahan diaktifkan.

Konvensi sintaks transact-SQL

Sintaks

sys.sp_flush_CT_internal_table_on_demand
    [ @TableToClean = ] 'TableToClean'
    [ , [ @DeletedRowCount = ] DeletedRowCount OUTPUT ]
[ ; ]

Argumen

[ @TableToClean = ] 'TableToClean'

Tabel yang diaktifkan pelacakan perubahan untuk dibersihkan secara manual. Backlog dibiarkan untuk pembersihan otomatis dengan pelacakan perubahan. Bisa null untuk membersihkan semua tabel samping.

[ @DeletedRowCount = ] 'OUTPUT DeletedRowCount

@DeletedRowCount adalah parameter OUTPUT dari jenis bigint. Parameter ini mengembalikan jumlah total baris yang dibersihkan selama proses.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Contoh

DECLARE @DeletedRowCount BIGINT;

EXEC sys.sp_flush_CT_internal_table_on_demand '[Sales].[Orders]',
    @DeletedRowCount = @DeletedRowCount OUTPUT;

PRINT CONCAT('Number of rows deleted: ', @DeletedRowCount);
GO

Berikut set hasilnya.

Started executing query at Line 1
Cleanup Watermark = 17
Internal Change Tracking table name : change_tracking_1541580530
Total rows deleted: 0.
Number of rows deleted: 0
Total execution time: 00:00:02.949

Keterangan

Prosedur ini harus dijalankan dalam database yang mengaktifkan pelacakan perubahan.

Saat Anda menjalankan prosedur tersimpan, salah satu skenario berikut terjadi:

  • Jika tabel tidak ada atau jika pelacakan perubahan tidak diaktifkan, pesan kesalahan yang sesuai akan dilemparkan.

  • Prosedur tersimpan ini memanggil prosedur tersimpan internal lain yang membersihkan konten dari tabel sisi pelacakan perubahan yang didasarkan pada versi pembersihan yang tidak valid dengan menggunakan sys.change_tracking_tables tampilan manajemen dinamis. Saat berjalan, ini menunjukkan informasi total baris yang dihapus (untuk setiap 5000 baris).

Prosedur tersimpan ini tersedia dalam produk berikut:

  • Paket Layanan SQL Server 2016 (13.x) 1 dan versi yang lebih baru
  • Azure SQL Database dan Azure SQL Managed Instance

Izin

Hanya anggota peran server sysadmin atau peran database db_owner yang dapat menjalankan prosedur ini.