PERBAIKAN: mengubah pembersihan pelacakan tidak berfungsi saat pembersihan tidak valid dan versi pembersihan yang diperkuat bersifat negatif di SQL Server 2017


Hotfix and Security Content Publishing: 113140

Gejala

Misalnya Anda mengaktifkan pelacakan perubahan untuk satu atau beberapa tabel di SQL Server 2017 dan telah menyetel AUTO_CLEANUP = on. Anda akan melihat bahwa tidak ada baris yang dihapus atau dibersihkan dari tabel sisi atau tabel sistem sys. syscommittab bahkan setelah periode penyimpanan. Selain itu, Anda akan melihat gejala berikut ini:

  1. Jika Anda tersambung dengan menggunakan koneksi admin khusus dan kueri versi pembersihan yang tidak valid dan pembersihan yang diperkuat, Anda akan menemukannya negatif:

    Pilih * dari sys. sysobjvalues di mana valclass = 7 dan objid = 1003--valid

    Pilih * dari sys. sysobjvalues di mana valclass = 7 dan objid = 1004--mengeraskan

  2. Jika Anda menjalankan SP berikut ini untuk membersihkan sys. syscommittab secara manual, itu tidak akan melakukan pembersihan dan akan mengembalikan versi pembersihan yang dikeraskan sebagai negatif:

    exec sp_flush_commit_table_on_demand

    Menghasilkan

    Nilai yang dikembalikan oleh change_tracking_hardened_cleanup_version () adalah-nnnnnn.

  3. Jika Anda mengumpulkan sesi acara yang diperpanjang dengan change_tracking_cleanup selama perubahan pelacakan otomatis pembersihan, Anda akan melihat bahwa CleanupStatusChange diatur ke 32 (kesalahan) dan pekerjaan pembersihan ada:Capture.PNG

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".

Pemecahan Masalah

Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut ini untuk SQL Server:

Tentang pembaruan kumulatif untuk SQL Server:

Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:

Catatan Untuk mengatasi masalah ini, Anda perlu mengaktifkan bendera pelacakan 8290 dan biarkan proses pembersihan otomatis berjalan. Setelah bendera pelacakan ini diaktifkan, Ubah pelacakan proses pembersihan otomatis akan mereset versi pembersihan yang tidak valid ke versi pembersihan berdasarkan periode penyimpanan. Bendera pelacakan ini dapat diaktifkan pada tingkat sesi atau pada tingkat startup. Untuk memahami penyebab utama mengapa versi pembersihan menjadi negatif, sebaiknya Hubungi dukungan dan berikan detail selengkapnya.

Referensi

Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.

Bug Information:

KE: v-sidong

Author: 

Writer: v-sidong

Tech reviewer: tzakir; akbarf; lzhang

Editor: v-jizho

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×