SQL Server 2016 DB Mail Göndermiyor


17

SQL Server 2016 kullanıyorum ve bir patlama yaşıyorum ... DB Mailim gönderilmiyor ve bakılacak yerim tükeniyor. DBmail yürütülebilir SQL hesap izinlerini iki kez kontrol ettim - okuma ve yürütme. Güvenlik duvarı giden bağlantı noktası 587 için bir kural girdim. Aynı gönderilmemiş sorunlara sahip başka bir posta hesabı ve profili denedim. Günlüklerdeki (db posta günlükleri) yalnızca girdiler hizmetin başlangıcı ve bitişidir. Bulabildiğim hiçbir yerde hata yok. E-postaların gönderme kuyruğuna girdiği ve asla bırakmadığı anlaşılıyor. Hesaplar kendi başlarına ve başka bir makinedeki SQL Server 2014 örneğinden e-posta gönderebilir ve alabilir.

Gönderilmiş durumu "gönderilmemiş" olan öğelerden oluşan bir kuyruğum var ve gönderilmemiş postaların uzun kuyruğunun yanı sıra, hepsinde beklenen sonuçlarla tüm normal yerleri kontrol ettim:

SELECT * FROM msdb..sysmail_event_log order by log_id DESC

SELECT * FROM dbo.sysmail_mailitems

SELECT * FROM dbo.sysmail_sentitems

USE msdb
SELECT sent_status, *
FROM sysmail_allitems

 SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb';

 EXECUTE msdb.dbo.sysmail_help_status_sp

Kapatıp tekrar açmayı denedim ... bu yüzden bu duruma ışık tutabilecek bir DMV vb. Bu, SQL Server 2016 ile ilgili yaptığım aramalarda bilmediğim bir sorun mu? Bu postayı göndermek için başka olası adımlar var mı?


E-posta gönderdiğiniz profil gizli mi?
Kin Shah

Herhangi bir hata var mı? Günlükler ne olacak? Ya posta sunucusu? Posta sunucusu sql'den herhangi bir bağlantı alıyor mu? Soruda çok sayıda alakalı bilgi eksik ...
Paolo

@kin Hayır, genel bir e-posta. Her iki e-posta da ofis 365 ve hesaplar SQL 2014'ten iyi para gönderiyor ve alıyor. 1. paragrafın sonuna durumu açıklayan birkaç ayrıntı daha eklendi.
Dave

Veritabanı posta profiliniz demek istedim.
Kin Shah

SQL Server 2016 kutunuzdan ping / telnet SMTP sunucusuna ping atabiliyor musunuz? Evetse, herhangi bir SMTP sorununu ortadan kaldırmak için mssqltips.com/sqlservertip/1625/… bağlantısından VB komut dosyasını çalıştırmayı deneyebilirsiniz . Test postası alırsanız, bunun SQL sunucusunda bir sorun olduğundan emin olabilirsiniz.
SQLPRODDBA

Yanıtlar:


17

Bir heves, izinleri çift kontrol ederken, ben gerçek DB posta çalıştırılabilir çift tıklatın. SQL Server 2014 makinesindeki sonuç boş bir komut penceresiydi. SQL Server 2016'da DB Mail çalıştırılabilir dosyası tıklatıldığında şu ileti görüntülenir:

resim açıklamasını buraya girin

Bu gereksinimi SQL Server 2016 belgelerinde hiçbir yerde bulamıyorum, ancak açıkça bir gereksinim. DB Mail, .NET 3.5 yüklemek dışında hiçbir değişiklik olmadan mükemmel çalışıyor.


Aynı sorunu yaşadım. .Net 3.5 uygulanarak çözüldü.
Sir Swears-a-lot

bu da benim sorunumu çözdü! beni deli ediyordu ama NET3.5'i yüklemek benim sorunumu çözdü!
NULL.Dude

Bu, 2016 SP1 CU8
James Anderson

DB posta yürütülebilir dosyası nerede bulunur?
JzInqXc9Dg

@Dave OH İSA BU ŞAŞIRTICI. Sadece merak ediyorum ... LogMeIn'i bu sunucularda kullanıyor musunuz? LogMeIn'in bir şeyleri kaldırdığı veya sildiği ve kabul etmeyi reddettikleri tuhaf durumlarla karşılaştık. Bir noktada veritabanı postalarım bir kutuda iyi çalıştı ve LogMeIn
John Zabroski'ye

10

Microsoft Destek'e göre, SQL Server 2016 Kurulumu'nda veritabanı postasının .net 3.5 olmadan çalışmamasına neden olan bir hata var

Bir çalışma yaratarak etrafında var DatabaseMail.exe.config aynı klasörde dosya DatabaseMail.exe dosyasına aşağıdaki yazmak ve birlikte tasarruf var (Binn klasörü) utf-8 kodlama

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true"> 
<supportedRuntime version="v4.0"/>     
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>

Kaynak: Düzeltme: SQL Server 2016 veritabanı posta yüklü .NET Framework 3.5 olmayan bir bilgisayarda çalışmıyor


4

Bunun yerine bir göz atın. Bu şekilde .net 3.5 yerine yalnızca bir dosyayı kopyalamanız gerekir. Önce CU1'i yüklemeniz gerekiyor. Kontrol burada daha fazla ayrıntı için.


2
Zaten bir [SQL Server 2016 için Toplu Güncelleştirme 2 | support.microsoft.com/en-us/kb/3182270] ile [Düzeltme: SQL Server 2016 veritabanı posta yüklü .NET Framework 3.5 yüklü olmayan bir bilgisayarda çalışmıyor | support.microsoft.com/en-us/kb/3186435] .
Vladislav

1
Burada sona ermeden önce sadece 30 dakika bu soruna bakarak geçirdi. Bana çok daha fazla zaman kazandýđýn için teţekkürler.
Paul

1

Daha önce belirtilen nedenlerin yanı sıra, burada belirtildiği gibi e-posta profilini SQL Server Agent düzeyinde etkinleştirmek de önemlidir :

  • SQL Server Agent'ı sağ tıklayın> Özellikler'i seçin
  • Sol bölmede Uyarı Sistemi'ni seçin

  • Onay işareti> Posta profilini etkinleştir

  • Posta sistemini doğrulayın: Veritabanı Postası
  • Posta Profilini Doğrulama: SQLAlerts
  • Onay işareti> E-posta gövdesini bildirim mesajına ekle
  • Tamam'ı tıklayın.
  • Agent'ı yeniden başlatın.
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.