Saya memiliki ~ 10 hari instalasi lama WinServer2012R2 dan SQL Server Express 2016 untuk pengujian. Saya satu-satunya pengguna di mesin ini. Database dengan .bak dari SQL Server 2005 dari ~ 250MB dipulihkan tanpa masalah. Setelah reboot mesin proses "SQL Server NT - 64 Bit" menggunakan CPU 0%.
Setelah beberapa menit atau beberapa jam dan beberapa pertanyaan sederhana (tidak ada pembaruan / sisipan!) Dari penggunaan SSMS CPU "SQL Server NT - 64 Bit" tiba-tiba melonjak hingga ~ 15% dan tetap di sana, bahkan ketika idle. Dari titik itu pada pertanyaan yang biasanya memakan waktu kurang dari satu detik tiba-tiba membutuhkan waktu 2 menit. Selama permintaan aktual, penggunaan CPU TIDAK bertambah. Server menjadi hampir tidak dapat digunakan dalam kondisi ini.
Hanya menghubungkan SQL Server Profiler kemudian mengambil> 30sec. Di samping pertanyaan saya sendiri, saya hanya melihat sangat sedikit pertanyaan dari SQLServerCEIP / SQLTELEMETRY, ~ 3 per menit.
Restart SQL-Server tidak menyelesaikannya. Penggunaan CPU melompat kembali ke ~ 15%. Bahkan setelah jam SQL-Server tidak pulih. Hanya me-reboot seluruh mesin yang menyelesaikan masalah.
Karena ini adalah instalasi "out of the box", hanya ada database kecil, hampir tidak ada pertanyaan, hanya saya sebagai pengguna dan mungkin tidak ada kunci, banyak artikel tentang masalah kinerja SQL-Server biasa berbicara tentang banyak hal yang tidak benar-benar berlaku di sini. Tampaknya SQL-Server secara eksklusif ingin berkonsentrasi pada beberapa tugas internal.
Ini adalah mesin virtual dengan RAM 2GB dan dual Xeon pada 2GHz. Saya juga punya VS2016 dan sangat cepat. Tidak ada antivirus, bahkan Windows Defender. Sudah terlambat di sini. Saya akan mencoba sp_whoisactive besok. Saya benar-benar bertanya-tanya APA yang dilakukan SQL-Server di sana ... Di mesin sebelumnya dengan 1 GB DB yang sama berjalan di bawah SQLServer2005 selama 10 tahun tanpa masalah ...
Saya bukan ahli SQL-Profiler. Di mana saya harus mulai mencari?
auto_update_statistics_async
dihidupkan.