Nasıl Yapılır: Veritabanı (Transact-SQL) posta ile gönderilen bir e-posta iletilerini durumunu denetleme
Veritabanı mektup, giden e-posta iletilerinin kopyalarını korur ve bunları görüntüler sysmail_allitems, sysmail_sentitems, sysmail_unsentitems, sysmail_faileditems görünümlerimsdb veritabanıdır.Dış veritabanı posta programı etkinliğini günlüğe kaydeder ve günlük aracılığıyla Windows uygulama olay günlüğüne görüntüler ve sysmail_event_log görünümündemsdb veritabanıdır.E-posta iletisinin durumunu denetlemek için , bu görünüm karşı bir sorguyu çalıştırın.E-posta iletilerini dört olası durumlardan birini vardır: Gönderilme Tarihi ve Saati, Gönderilmedi durumu, Yeniden deniyor, and Başarısız.
E-posta iletisinin durumunu denetlemek için
Arasından seçim sysmail_allitems tablosu, ilgi iletileri belirtmemailitem_id or sent_status.
Durumunu denetlemek için e-posta iletileri için dış programı dönen, birleştirmek sysmail_allitems to sysmail_event_log görünümümailitem_id sütun, aşağıdaki bölümde gösterildiği gibi.
Not
Varsayılan olarak, dış programı, başarıyla gönderilen iletileri hakkında bilgi kütüğe kaydetmez.Tüm iletileri günlüğe kaydetmek için verbose kullanarak günlük düzeyini küme Sistem parametrelerini yapılandırma sayfaAdres Veritabanı Yapılandırma Sihirbazı.
Example
Aşağıdaki örnek gönderilen tüm e-posta iletileri hakkında bilgileri listeler. danw bir, dış programı başarıyla gönderemedi. deyim, konu, tarih ve saat, iletinin ve hata iletisinin günlükten veritabanı posta göndermek için dış programı başarısız listeler.
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
See Also