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.
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 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:
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, secara langsung di 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 tempdbgo checkpointgo Selain itu, TF 3468 dapat digunakan untuk menonaktifkan titik pemeriksaan tidak langsung pada tempdb.
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak. Lihat artikel berikut untuk informasi selengkapnya: