Gejala
Secara default, titik pemeriksaan tidak langsung diaktifkan untuk database sementara di Microsoft SQL Server 2016 dan 2017. Dalam kondisi beban kerja berat, kesalahan "Penjadwal tidak menghasilkan" mungkin terjadi dan sys.dm_os_spinlock_stats DMV memperlihatkan konten spinlock yang ditingkatkan untuk tipe DP_LIST spinlock.
Pemecahan Masalah
Perbaikan ini disertakan dalam pembaruan dan paket layanan berikut ini:
-
Pembaruan Kumulatif 5 untuk SQL Server 2016 Paket Layanan 1
-
Pembaruan Kumulatif 8 untuk SQL Server 2016
Informasi paket layanan untuk SQL Server 2016
Tentang build SQL Server
Setiap build baru untuk SQL Server berisi semua perbaikan keamanan dan hotfix yang ada di build sebelumnya. Kami menyarankan agar Anda menginstal pembaruan kumulatif terbaru untuk SQL Server:
Paket layanan bersifat kumulatif. Setiap paket layanan baru berisi semua perbaikan yang ada dalam paket layanan sebelumnya, bersama dengan perbaikan baru apa pun. Rekomendasi kami adalah menerapkan paket layanan terbaru dan pembaruan kumulatif terbaru untuk paket layanan tersebut. Anda tidak perlu menginstal paket layanan sebelumnya sebelum menginstal paket layanan terbaru. Gunakan Tabel 1 di artikel berikut ini untuk menemukan informasi selengkapnya tentang paket layanan terbaru dan pembaruan kumulatif terbaru.
Cara menentukan versi, edisi, dan tingkat pembaruan SQL Server dan komponennya
Penyelesaian Masalah
Untuk mengatasi masalah ini, nonaktifkan titik pemeriksaan tidak langsung pada database tempdb menggunakan salah satu pernyataan Data Definition Language (DDL) berikut ini.
Hal ini harus dilakukan sebagai berikut:
-
Pada database modeldb (ini juga mengubah nilai default untuk database baru), jalankan pernyataan berikut:
ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Atau, langsung pada database tempdb setiap kali instans dimulai dengan menggunakan SQL Server Agent menggunakan pernyataan berikut:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Atau, secara berkala mengeluarkan titik pemeriksaan manual terhadap database sementara dengan menggunakan pernyataan berikut:
use tempdb#x1
go
Selain itu, TF 3468 dapat digunakan untuk menonaktifkan titik pemeriksaan tidak langsung pada tempdb.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak. Lihat artikel berikut untuk informasi selengkapnya: