Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Managed Instance
Ez a cikk azt ismerteti, hogyan háríthatja el azokat a problémákat, amelyek miatt a Database Mail e-mailjei sikeresen várólistára kerülnek, de az üzenetek nem érkeznek meg.
A probléma diagnosztizálása
A Database Mail külső program naplózza az e-mail tevékenységet az msdb adatbázisban.
Először is, annak ellenőrzéséhez, hogy a Database Mail engedélyezve van-e, használja a rendszer által tárolt eljárás Database Mail XPs (kiszolgálókonfigurációs beállítás) beállítását
sp_configure, ahogyan az alábbi példában is látható:EXEC sp_configure 'show advanced', 1; RECONFIGURE; EXEC sp_configure; GOEzután hajtsa végre a következő utasítást az adatbázisban az
msdbüzenetsor állapotának ellenőrzéséhez:EXEC msdb.dbo.sysmail_help_queue_sp @queue_type = 'Mail';Az oszlopok részletes ismertetését a sysmail_help_queue_sp (Transact-SQL) című cikkben találja.
Ellenőrizze a
sysmail_event_lognézetet, hogy van-e tevékenység. A nézetnek tartalmaznia kell egy bejegyzést, amely azt jelzi, hogy a Database Mail külső program elindult. Ha nincs bejegyzés asysmail_event_lognézetben, tekintse meg az -ben azsysmail_event_logtünetet.Ha hibák vannak a nézetben, javítsa ki az adott hibát. Ellenőrizze az
sysmail_allitemsüzenetek állapotát a nézetben.
Üzenet állapota nem fogadva
A nem küldött állapot azt jelzi, hogy a Külső adatbázis program még nem dolgozza fel az e-mail üzenetet.
Előfordulhat, hogy a Database Mail külső programja lemaradt az üzenetek feldolgozása során; a külső program által az üzeneteket feldolgozó sebesség a hálózati feltételektől, az újrapróbálkozási időtúllépéstől, az üzenetek mennyiségétől és az SMTP-kiszolgáló kapacitásától függ. Ha a probléma továbbra is fennáll, fontolja meg több profil használatát az üzenetek több SMTP-kiszolgáló közötti terjesztéséhez. Tekintse át az SQL Serverről küldött e-mail-terhelést, és ellenőrizze, hogy az elküldött e-mailek érvényesek-e és rendeltetése-e.
Ellenőrizze a sikeresen kézbesített üzenetek legutóbbi módosítási dátumát. Ha az utolsó sikeres kézbesítés egy ideje történt, ellenőrizze a sysmail_event_log nézetet, hogy a külső programot sikeresen elindította-e a Service Broker. Ha az utolsó kísérlet nem indította el a külső programot, ellenőrizze, hogy az Adatbázisposta külső program a megfelelő könyvtárban található-e, és hogy az SQL Server szolgáltatásfiókja rendelkezik-e engedéllyel a végrehajtható program futtatásához. Ellenőrizze a Windows alkalmazás eseménynaplójában a Database Mail szolgáltatással kapcsolatos hibákat.
Megjegyzés:
A régi nem küldött üzenetek törléséhez várjon, amíg a kézbesíthetetlen üzenetek a legrégebbi üzenetek az üzenetsorban, majd a rendszer által tárolt eljárással msdb.dbo.sysmail_delete_mailitems_sp törölje őket.
Az üzenet állapotának újrapróbálkozása
Az újrapróbálkozás állapota azt jelzi, hogy a Database Mail megpróbálta kézbesíteni az üzenetet az SMTP-kiszolgálónak, de nem sikerült. Ezt általában a hálózat megszakadása, az SMTP-kiszolgáló hibája vagy egy helytelenül konfigurált Database Mail-fiók okozza. Az üzenetnek végül sikeresnek vagy sikertelennek kell lennie, és üzenetet kell közzétennie a Windows-alkalmazás eseménynaplójában.
Üzenet állapota elküldve
Az elküldött üzenetek állapota azt jelzi, hogy a Database Mail külső program sikeresen elküldte az e-mailt az SMTP-kiszolgálónak.
Ha az üzenet nem érkezett meg a célhelyre, az SMTP-kiszolgáló elfogadta az üzenetet a Database Mailtől, de nem kézbesítette az üzenetet a végső címzettnek. Ellenőrizze az SMTP-kiszolgáló naplóit, vagy forduljon az SMTP-kiszolgáló rendszergazdájához. Az SMTP-levelezési kiszolgálót egy másik ügyfél, például az Outlook Express használatával is tesztelheti.
Az üzenet küldése sikertelen volt
A sikertelen állapot azt jelzi, hogy a Database Mail külső program nem tudta kézbesíteni az üzenetet az SMTP-kiszolgálónak.
Ebben az esetben a msdb.dbo.sysmail_event_log rendszernézet a külső program részletes adatait tartalmazza. Egy minta lekérdezés esetén, amely a sysmail_faileditems és sysmail_event_log összekapcsolásával részletes hibaüzeneteket kér le, tekintse meg a Az adatbázislevelezéssel küldött e-mailek állapotának ellenőrzése című részt. A sikertelenség leggyakoribb okai a helytelen célcímek, vagy olyan hálózati problémák, amelyek megakadályozzák, hogy a külső program elérjen egy vagy több feladatátvevő fiókot. Az SMTP-kiszolgálón fellépő problémák azt is okozhatják, hogy a kiszolgáló elutasítja a leveleket. Az Adatbázis Mail konfigurációs varázsló segítségével módosítsa a naplózási szintetVerbózusra, és küldjön egy teszt e-mailt a hibapont vizsgálatához.