Bu makale, makine tarafından çevrilmiştir. Makaleyi İngilizce dilinde görüntülemek için İngilizce onay kutusunu işaretleyin. Ayrıca, fare işaretçisiyle İngilizce metnin üzerine gelerek metni açılır pencerede de görüntüleyebilirsiniz.
Çeviri
İngilizce

Veritabanı posta sorun giderme: Genel adımları

Veritabanı posta sorun giderme, veritabanı posta sistemini aşağıdaki genel alanlarının denetimi içerir.Bu yordamlar, mantıksal bir sıraya göre sunulur, ancak herhangi bir sırada değerlendirilebilir.

Veritabanı posta etkinleştirilmiş olup olmadığını belirlemek için

  1. Içinde SQL Server Management Studio, örneğine bağlama SQL Server bir sorgu Düzenleyicisi penceresini kullanarak ve sonra yürütmek aşağıdaki kodu:

    sp_configure 'show advanced', 1; 
    GO
    RECONFIGURE;
    GO
    sp_configure;
    GO
    

    Sonuçlar bölmesinde doğrulayın run_value için Database Mail XPs ayarlamak 1.

    If the run_value is not 1, Database Mail is not enabled.Veritabanı posta otomatik olarak saldırının özelliklerin sayısını azaltmak için kötü niyetli bir kullanıcı tarafından etkin değil.Daha fazla bilgi için bkz:yüzey alanı yapılandırma'ı anlama.

  2. Veritabanı posta etkinleştirmek uygun olduğunu karar verirseniz yürütmek aşağıdaki kodu:

    sp_configure 'Database Mail XPs', 1; 
    GO
    RECONFIGURE;
    GO
    
  3. geri yükleme yüklemek için sp_configure Gelişmiş seçenekleri göstermez, varsayılan durumuna yordamına yürütmek aşağıdaki kodu:

    sp_configure 'show advanced', 0; 
    GO
    RECONFIGURE;
    GO
    

Kullanıcıların veritabanı posta göndermek için doğru yapılandırıldığından, belirlemek için

  1. Veritabanı posta göndermek için , kullanıcıların bir üyesi olmanız DatabaseMailUserRole.Members of the sysadmin fixed server role and msdbdb_owner role are automatically members of the DatabaseMailUserRole role.Diğer tüm üyelerini listelemek için DatabaseMailUserRole aşağıdaki deyim yürütmek:

    EXEC msdb.sys.sp_helprolemember 'DatabaseMailUserRole';
    
  2. Kullanıcılar eklemek için DatabaseMailUserRole rolünü, aşağıdaki kullanmak deyim:

    sp_addrolemember @rolename = 'DatabaseMailUserRole'
       ,@membername = '<database user>';
    
  3. Veritabanı posta göndermek için , kullanıcıların en az bir veritabanı posta profiline erişimi olmalıdır.Kullanıcılar (sorumluları) ve hangi erişim sahip oldukları profilleri listelemek için aşağıdaki ifadeyi çalıştırın.

    EXEC msdb.dbo.sysmail_help_principalprofile_sp;
    
  4. Profilleri oluşturmak ve bu kullanıcıların profilleri erişim için veritabanı Adres Yapılandırma Sihirbazı'nı kullanın.

Veritabanı posta başlatıldığını onaylamak için

  1. The Database Mail External Program is activated when there are e-mail messages to be processed.Program, edilmiştir, belirtilen saat aşımı süresini göndermek için ileti çıkar.Veritabanı posta etkinleştirme yeniden başlatıldığında, onaylamak için yürütmek aşağıdaki deyim.

    EXEC msdb.dbo.sysmail_help_status_sp;
    
  2. Veritabanı posta etkinleştirme başlatılmışsa yürütmek başlatmak için aşağıdaki deyim:

    EXEC msdb.dbo.sysmail_start_sp;
    
  3. Dış veritabanı posta programı başlatılmışsa, aşağıdaki posta sıranın durumunu deyim:

    EXEC msdb.dbo.sysmail_help_queue_sp @queue_type = 'mail';
    

    Posta sıranın durumunu olmalıdır receives_occurring.Durumu sırasını süre duraklamanız arasında değişebilir.Posta sırası durumu değilse receives_occurring kullanarak sıraya durdurma deneyin.sysmail_stop_sp ' ı ve sonra kullanarak sıraya başlatılıyorsysmail_start_sp.

NoteNote:

Use Uzunluk sonuç kümesi sütunsysmail_help_queue_sp e-postalar e-posta sırasındaki sayısı belirlenemiyor.

Bir profildeki tüm hesapları veya yalnızca bazı hesapları veritabanı Mail'de sorun etkiler, belirlemek için

  1. Belirlediyseniz ancak tüm profiller, posta gönderebilir ve sorunu profilleri tarafından kullanılan veritabanı posta hesaplarıyla ilgili sorunlar olabilir.Hangi hesapların, posta gönderme başarılı olduğunu belirlemek için yürütmek aşağıdaki deyim:

    SELECT sent_account_id, sent_date FROM msdb.dbo.sysmail_sentitems;
    
  2. Kullanıcı profili çalışmıyor listelenen hesaplara birini kullanıyorsanız, sonra profile kullanılabilir tüm hesapların düzgün çalışmayan olanaklıdır.Tek tek hesaplara sınamak için , tek bir hesabın ile yeni bir profil oluşturun ve sonra veritabanı Adres Yapılandırma Sihirbazı'nı kullanın... Sınama e-posta Gönder iletişim kutusu yeni hesabı kullanarak posta göndermek için.

  3. Veritabanı Mail tarafından döndürülen hata iletileri görüntülemek için , aşağıdaki deyimini yürütün:

    SELECT * FROM msdb.dbo.sysmail_event_log;
    
NoteNote:

Veritabanı adres için SMTP posta sunucusu başarıyla teslim edildiğinde, gönderilecek adres dikkate alır.Sonraki hatalar (geçersiz alıcı e-posta adresi gibi hala posta teslim edilmesini engelleyebilir, ancak veritabanı posta günlüğüne bulunmayan.

Posta teslimi yeniden denemek için veritabanı Mail'i yapılandırmak için

  1. Güvenilir bir SMTP sunucusuna erişilemiyor çünkü veritabanı posta başarısız belirlediyseniz, Database Mail'i her ileti göndermek için kaç deneme yapacağını sayısını artırarak, başarılı posta teslimi hızınızı artırmak mümkün olabilir.Adres Veritabanı Yapılandırma Sihirbazı'nı başlatın ve seçin Görüntülemek veya sistem parametrelerini değiştir seçeneği.Alternatif olarak, daha fazla profil hesaplarına ilişkilendirebilirsiniz; bu nedenle, birincil hesabı yerine çalışma sırasında e-postalar göndermek için yerine çalışma hesap veritabanı posta kullanır.

  2. Sistem parametrelerini yapılandırma sayfasında, varsayılan değerler için 5 zamanlarının Hesabı yeniden denemeleri ve 60 saniyeHesabı yeniden deneme gecikmesi SMTP sunucu 5 dakika içinde erişilemiyor, ileti teslimi başarısız olacağını gösterir.Başarısız ileti teslim etmeden önce geçen süreyi uzatmak için bu parametreler artırın.

NoteNote:

Çok sayıda iletileri gönderildiğinde, büyük varsayılan değerler güvenilirlik artabilir, ancak ileti tekrar tekrar teslim girişimi gibi kaynaklarının kullanımını önemli ölçüde artırır.Kök sorun, ağ veya veritabanı posta hemen SMTP sunucusuna bağlanılıyor engelleyen bir SMTP sunucu sorunu çözme adres.

Bir üyesi olmanız gerekir sysadmin sabit sunucu rolü veritabanı posta tüm yönlerini giderilir.Üyesi olmayan kullanıcılar, sysadmin sabit sunucu rolü, yalnızca ilgili e-posta göndermeye çalışırsanız, diğer kullanıcılar tarafından gönderilen postalar hakkında bilgi edinebilirsiniz.

Show: