Kami memiliki masalah ini di lingkungan produksi kami.
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) - Edisi Perusahaan (64-bit) pada Windows NT 6.1 (Build 7601: Service Pack 1).
SQL Server menjatuhkan semua (hampir 100%) dari rencana eksekusi yang lama dan membuatnya kembali setiap hari dalam semalam (dari jam 11:00 hingga 8:00). Ini bahkan terjadi ketika 'statistik pembaruan otomatis' dalam keadaan dinonaktifkan. Kami telah mengaktifkan 'statistik pembaruan otomatis' selama 2-3 minggu terakhir. Tapi itu masih terjadi.
Kami tidak benar-benar tahu apa yang memicu rencana re-generasi ini, tetapi kami yakin kami tidak melakukannya secara manual.
Satu-satunya hal yang benar-benar bertepatan dengan waktu rencana regenerasi adalah pekerjaan pemeliharaan DB yang kita miliki: indeks harian reorganisasi (ketika fragmentasi 5-30%), dan indeks harian dibangun kembali (ketika fragmentasi lebih dari 30% ) pekerjaan. Biasanya pekerjaan pemeliharaan harian ini hanya mengatur ulang (karena fragmentasi indeks tidak pernah lebih dari 30% setiap hari).
Dampak:
Paket yang baru dibuat ini membuat beberapa panggilan UDF / panggilan permintaan (yang dipanggil dari UI / halaman web) membutuhkan waktu lebih lama (menit dibandingkan dengan kurang dari 1 detik), sehingga sesi hanya ditumpuk dengan mengambil CPU hampir 90% .
Masalahnya hilang saat sesi yang macet itu dihapus secara paksa (di sisi DB), dan 1) ketika semua rencana eksekusi yang terkait dihapus secara manual (untuk kueri) atau 2) ketika UDF diubah (untuk fungsi). Setiap rencana baru yang dibuat oleh SQL server sejak saat itu berfungsi sempurna sepanjang hari sampai akhirnya memiliki masalah yang sama keesokan paginya. Juga, perilaku ini tidak 100% konsisten, kita tidak benar-benar melihatnya setiap pagi. Tetapi ada periode waktu di mana kita telah melihatnya secara konsisten selama 4-5 hari berturut-turut.
Masalahnya terjadi pada pagi hari bisnis, saat itulah UI / halaman web diakses lebih intensif, sepertinya.
Adakah yang tahu apa yang menyebabkan ini dan bagaimana mengatasi masalah ini? Bantuan apa pun akan sangat dihargai.