Kendini sonlandırma işlemini başlatan SQL Server Agent


9

Geçen ay, sunucularımdan biri SQL Server Agent ile ilgili sorunlar yaşıyor. Rastgele gerçekleşen aşağıdaki hata ile otomatik olarak durur:

Sql Agent Çıktı dosyası
[097] Bellek sızıntısı algılandı [204 bayt]
e: \ sql9_sp2_t \ sql \ komodo \ src \ core \ sqlagent \ src \ alerter.cpp dosyasının 403 satırında özel durum 5 yakalandı. SQLServerAgent kendi kendine sonlandırmayı başlatır

Bu hatayı googled, ancak bu konuda fazla bilgi alamadım. SQL Server ve Agent aynı etki alanı hesabıyla çalışıyor; ancak, sorun yalnızca SQL Server Agent hizmetiyle ilgilidir.

Ayrıca SQL Server Configuration Manager'da SQL Server Agent hizmetini göremiyorum. SQL Server hata günlüğünü ve Windows Olay Görüntüleyicisi günlüklerini kontrol ettim, ancak şüpheli bir etkinlik görmedim.

Bellek ayarlarım doğru yapılandırılmış. Sunucuda 32GB RAM vardır ve SQL Server maksimum 26GB bellek kullanacak şekilde atanır.

Sistem ayrıntıları:

  • SQL Server 2012 SP2 Std Sürümü 11.0.5058 64 bit
  • Windows Server 2008 R2 Ent Edition 64 bit
  • SQL Server'a adanmış (sunucuda başka hiçbir uygulama çalışmıyor)
  • Sunucu birkaç ay önce SQL Server 2005 EE'den 2012 SE'ye yükseltildi.
  • Etkinlik Yönlendirme Sunucusu kullanmıyoruz .

Ben de msdb veritabanını kontrol etti . Checkdb üzerinde koştu ve herhangi bir hata olmadan başarıyla tamamlandı. İki şeyi düzeltmek için yardımınıza ihtiyacım var:

  1. SQL Server Agent hizmetinin rasgele durdurulmasını gidermek için
  2. SQL Server Configuration Manager'da SQL Server Agent hizmeti eklemek için

İzleme için üçüncü taraf yazılımımız var, bu nedenle aracı hizmeti durursa derhal bilgilendiriliriz. Şimdilik hizmeti yeniden başlatıyoruz. Ama temel nedeni bulmak istiyoruz.

Sean Gallardy tarafından önerilen aşağıdaki sorguyu çalıştırdım ve 95 satır geri aldım. Sonucu nasıl yorumlayacağımı bilmiyorum.

select * 
from sys.dm_os_loaded_modules 
where name not like '%microsoft%'

Ne yazık ki sonuçları güvenlik nedeniyle gönderemiyorum.

Bu soruna çözüm bulana kadar SQL Server Agent'a yeniden deneme girişimleri ekledim, böylece durdurulduğunda otomatik olarak yeniden başlayabilir.


Aracı öldürüldüğünde, sunucuya girip sayfa dosyası kullanımını kontrol edebiliyor musunuz? Sayfa dosyasının çeşitli uygulamalar tarafından (HyperBac dahil) tükenmesinden kaynaklanan Connect öğeleri vardır.
Cody Konior

Tekrar olduğunda bunu kontrol edeceğim.
SQLPRODDBA

SQL Server 2005 EE'den SQL Server 2012 SE'ye yükseltme yaptığınızda, yerinde bir yükseltme yaptınız mı? Yoksa tamamen yeni bir SQL Server taksit yaptınız mı? Soruyorum çünkü 2000'lerin başlarında, klasörü tamamen silip SQL Server'ı boş bir klasöre yeniden yükleyerek çözülen yerinde yükseltmelerle birkaç başarısızlıkla karşılaştım. (Evet, bu bir sıkıntıydı.)
RLF

Yanıtlar:


1

Kısa bir süre önce birkaç ay önce SQL Server 2005 EE'den 2012 SE'ye yükseltme yaptığınızdan, SqlAgent, SQL Server'ın eski bir derlemesinden Olay Günlüğü Kimlikleri gördüğünde çökebileceğinden olay günlüklerinizi kaydetmeli ve temizlemelisiniz. Örneğin, yalnızca bir ekleme dizesi içeren veriler içeren bir SQL Server derlemesi tarafından günlüğe kaydedilen bir olayı okuduğu ve aracı, İKİ dizgi gerektiren en son kaynak bilgilerini kullanarak biçimlendirmeye çalışacağı için Aracı çökebilir. Bu, çökme gerçekleştiğinde yazdırmaya çalıştığı dize için bir arabellek ayrıldığından, kapanmadan hemen önce kısa bir bellek sızıntısına neden olur.

Ajan hizmeti, yapılandırma yöneticisinde listelenmediği sürece, birçok olasılık vardır: https://support.microsoft.com/en-us/kb/941823

2012 Configuration Manager çalıştırdığınızdan emin olun

WMI Deposunu yeniden oluşturmayı deneyebilirsiniz: https://blogs.technet.microsoft.com/askperf/2009/04/13/wmi-rebuilding-the-wmi-repository/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.