Selama sebulan terakhir, salah satu server saya menghadapi masalah dengan SQL Server Agent. Itu berhenti secara otomatis dengan kesalahan di bawah ini, yang terjadi secara acak:
Sql Agent Output file
[097] Kebocoran memori terdeteksi [204 byte]
Pengecualian 5 ditangkap pada baris 403 dari file e: \ sql9_sp2_t \ sql \ komodo \ src \ core \ sqlagent \ src \ alerter.cpp. SQLServerAgent memulai penghentian diri
Saya mencari kesalahan ini di Google tetapi tidak mendapatkan banyak info tentangnya. SQL Server dan Agen berjalan dengan akun domain yang sama; Namun, masalahnya hanya dengan layanan SQL Server Agent.
Saya juga tidak dapat melihat layanan SQL Server Agent di SQL Server Configuration Manager. Saya memeriksa log galat SQL Server, dan log Windows Event Viewer, tetapi tidak melihat aktivitas yang mencurigakan.
Pengaturan memori saya dikonfigurasi dengan benar. Server memiliki 32GB RAM dan SQL Server ditugaskan untuk menggunakan memori maks 26GB.
Detail sistem:
- SQL Server 2012 SP2 Std Edition 11.0.5058 64 bit
- Windows Server 2008 R2 Ent Edition 64 bit
- Didedikasikan untuk SQL Server (tidak ada aplikasi lain yang berjalan di server)
- Server ditingkatkan beberapa bulan yang lalu dari SQL Server 2005 EE hingga 2012 SE.
- Kami tidak menggunakan Server Penerusan Acara .
Saya memeriksa database msdb juga. Jalankan checkdb di atasnya dan berhasil diselesaikan tanpa kesalahan. Saya butuh bantuan Anda dalam memperbaiki dua hal:
- Untuk memperbaiki penghentian layanan SQL Server Agent secara acak
- Untuk menambahkan layanan SQL Server Agent di SQL Server Configuration Manager
Kami memiliki perangkat lunak pihak ketiga untuk pemantauan, jadi kami segera diberi tahu jika layanan agen berhenti. Untuk saat ini kami hanya me-restart layanan. Tetapi kami ingin menemukan akar masalahnya.
Saya menjalankan query berikut yang disarankan oleh Sean Gallardy dan mendapatkan 95 baris kembali. Saya tidak tahu bagaimana menafsirkan hasilnya.
select *
from sys.dm_os_loaded_modules
where name not like '%microsoft%'
Sayangnya saya tidak dapat memposting hasilnya karena alasan keamanan.
Sampai saya menemukan solusi untuk masalah ini, saya telah menambahkan coba lagi upaya untuk SQL Server Agent sehingga dapat memulai kembali secara otomatis ketika dihentikan.
sumber
Jawaban:
Karena Anda baru saja memutakhirkan beberapa bulan yang lalu dari SQL Server 2005 EE hingga 2012 SE, Anda harus menyimpan dan menghapus log peristiwa Anda karena SqlAgent mungkin macet ketika melihat ID Log Kejadian dari versi lama SQL Server. Misalnya, Agen mungkin macet karena membaca peristiwa yang dicatat oleh build SQL Server lebih awal dari build saat ini, yang hanya berisi data dengan SATU string penyisipan dan agen akan mencoba memformatnya menggunakan informasi sumber daya terbaru yang membutuhkan DUA string. Ini akan menyebabkan kebocoran memori singkat sebelum dimatikan karena buffer dialokasikan untuk string yang ia coba cetak ketika crash terjadi.
Sejauh layanan agen tidak tercantum dalam manajer konfigurasi, ada beberapa kemungkinan: https://support.microsoft.com/en-us/kb/941823
Pastikan Anda menjalankan Pengelola Konfigurasi 2012
Anda dapat mencoba membangun kembali Repositori WMI: https://blogs.technet.microsoft.com/askperf/2009/04/13/wmi-rebuilding-the-wmi-repository/
sumber