Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Yönetilen Örneği
Bu makalede, Transact-SQL kullanılarak SQL Server'da Veritabanı Postası kullanılarak gönderilen e-posta iletisinin durumunun nasıl denetlendiği açıklanır.
- Veritabanı Postası, giden e-posta iletilerinin kopyalarını tutar ve bunları veritabanının
sysmail_allitems,sysmail_sentitems,sysmail_unsentitems,sysmail_faileditemsgörünümlerindemsdbgörüntüler. - Veritabanı Postası'nın harici programı etkinlikleri günlüğe kaydeder ve bu günlüğü Windows Uygulama Olay Günlüğü ile
sysmail_event_logveritabanındakimsdbgörünümü aracılığıyla görüntüler. - E-posta iletileri dört olası durumdan birine sahiptir: gönderildi, gönderilmedi, yeniden gönderiliyorve başarısız oldu.
E-posta iletisinin durumunu denetlemek için sistem görünümünde bir sorgu msdb.dbo.sysmail_event_log çalıştırın.
Veritabanı Postası kullanılarak gönderilen e-postanın durumunu görüntülemek için Transact-SQL kullanın
Tablodan
sysmail_allitemsveyamailitem_idile ilgilendiğiniz iletileri belirterek seçim yapın.E-posta iletilerinin dış programdan döndürülen durumunu kontrol etmek için,
sysmail_allitems'ısysmail_event_loggörünümüylemailitem_idsütununda birleştirin.Varsayılan olarak, dış program başarıyla gönderilen iletiler hakkındaki bilgileri günlüğe kaydetmez. Tüm iletileri günlüğe kaydetmek için, Veritabanı Posta Yapılandırma Sihirbazı'nın Sistem Parametrelerini Yapılandırma sayfasını kullanarak günlük düzeyini ayrıntılı olarak ayarlayın.
Aşağıdaki örnekte, dış programın başarıyla gönderemediği danw gönderilen e-posta iletileriyle ilgili bilgiler listelenmektedir. Deyiminde konu, dış programın iletiyi gönderemediği tarih ve saat ve Veritabanı Posta günlüğündeki hata iletisi listelenir.
USE msdb ;
GO
-- Show the subject, the time that the mail item row was last
-- modified, and the log information.
-- Join sysmail_faileditems to sysmail_event_log
-- on the mailitem_id column.
-- In the WHERE clause list items where danw was in the recipients,
-- copy_recipients, or blind_copy_recipients.
-- These are the items that would have been sent
-- to danw.
SELECT items.subject,
items.last_mod_date
,l.description
FROM dbo.sysmail_faileditems AS items
INNER JOIN dbo.sysmail_event_log AS l
ON items.mailitem_id = l.mailitem_id
WHERE items.recipients LIKE '%danw%'
OR items.copy_recipients LIKE '%danw%'
OR items.blind_copy_recipients LIKE '%danw%';
GO