MSSQL Server ‘Mail not queued. Database Mail is stopped. Use sysmail_start_sp to start Database Mail(Error: 14641)’ Hatasının Çözümü

MSSQL Server

Bu makalede mssql server üzerinde bir job çalıştırıldığında alınmış bir hataya değinmiş olacağız.

SQLServer Error: 14641, Mail not queued. Database Mail is stopped. Use sysmail_start_sp to start Database Mail. [SQLSTATE 42000]

Hata mesajında: SQL Server, mail göndermeye çalışıyor ama Database Mail servisi çalışmıyor.
O yüzden mail kuyruğa bile alınamıyor.

SQL Server Database Mail’ın “Mail not queued. Database Mail is stopped” hatasını verip, kısa bir süre sonra kendiliğinden düzelmesinin en yaygın nedeni Database Mail dış programının boşta kalma süresi (Account Lifecycle/Timeout) dolduğunda otomatik olarak kapanmasıdır. Genellikle SQL Server yeniden başlatıldıktan sonra Database Mail otomatik olarak başlamadığı için ortaya çıkar.

Sorunun Temel Nedenleri

  • Boşta Kalma Zaman Aşımı (Inactivity Timeout): Database Mail programı, belirli bir süre (varsayılan 10 dakika) boyunca e-posta gönderilmezse kendini kapatır. Yeni bir mail geldiğinde tekrar tetiklenir, ancak bazen bu tetikleme sırasında anlık gecikmeler yaşanabilir.
  • SQL Server 2022/2025 Bug Durumu: Son dönemdeki güncellemelerde (örneğin SQL Server 2022 CU23), Database Mail’in kararsız çalışmasına neden olan bilinen bir hata bildirilmiştir.
  • Service Broker Sorunları: Database Mail, arka planda Service Broker kullanır. Eğer msdb veritabanında Service Broker duraklatılmışsa veya bir kuyruk (queue) sorunu varsa, mail kuyruğa alınamaz.

Çözüm Adımları

Database Mail Executable Lifetime (seconds) değerini daha yüksek bir sayıya (örneğin 1800- 30 dakika) çekilmesi gerekmektedir.

Zaman Aşımı Süresini Artırın:
Database Mail’in çok sık kapanmasını engellemek için boşta kalma süresini (Database Mail Lifecycle) artırabilirsiniz:

SSMS üzerinden Management > Database Mail sağ tıklayın.

Configure Database Mail > View or change system parameters seçeneğine gidin.

Eğer servis durmuşsa, aşağıdaki komutla manuel olarak başlatabilirsiniz:

SSMS’te master veritabanında aşağıdaki komut çalıştırılır.

EXEC msdb.dbo.sysmail_start_sp;

Tekrar mail gönderme yapılabilir.

Database Mail çalışıp çalışmadığını kontrol etmek için aşağıdaki komut kullanılmaktadır.

EXEC msdb.dbo.sysmail_help_status_sp;

Eğer:

  • STARTED → başka bir problem var (SMTP vs.)
  • STOPPED → sorun bundan kaynaklanmaktadır

Bu makalede database mail bölümünde “Mail not queued. Database Mail is stopped. Use sysmail_start_sp to start Database Mail.” Hatasının çözümünü görmüş olduk. Başka bir makalede görüşmek dileğiyle.

Ey iman edenler, sabırla ve namazla yardım dileyin. Gerçekten Allah, sabredenlerle beraberdir. Bakara Suresi, 153. Ayet

Author: Yunus YÜCEL

1 thought on “MSSQL Server ‘Mail not queued. Database Mail is stopped. Use sysmail_start_sp to start Database Mail(Error: 14641)’ Hatasının Çözümü

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir