Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Databázová pošta je podnikové řešení pro odesílání e-mailových zpráv z databázového stroje SQL Serveru nebo spravované instance Azure SQL. Aplikace můžou uživatelům odesílat e-mailové zprávy pomocí databázové pošty prostřednictvím externího serveru SMTP. Zprávy můžou obsahovat výsledky dotazu a můžou také obsahovat soubory z libovolného prostředku ve vaší síti.
Poznámka:
Databázová pošta je dostupná v databázovém stroji SQL Serveru a ve službě Azure SQL Managed Instance, ale není dostupná v Azure SQL Database a elastických fondech. Další informace o používání databázové pošty ve službě Azure SQL Managed Instance najdete v tématu Automatizace úloh správy pomocí úloh agenta SQL ve službě Azure SQL Managed Instance.
Výhody používání databázové pošty
Databázová pošta je navržená pro spolehlivost, škálovatelnost, zabezpečení a možnosti podpory.
Spolehlivost
Databázová pošta používá k odesílání pošty standardní protokol SMTP (Simple Mail Transfer Protocol). Můžete použít databázovou poštu bez instalace klienta rozšířeného rozhraní MAPI na počítači, na kterém běží SQL Server.
Izolace procesů. Aby se minimalizoval dopad na SQL Server, komponenta, která doručuje e-maily mimo SQL Server, běží v samostatném procesu. SQL Server bude dál zařadovat e-mailové zprávy do fronty, i když se externí proces zastaví nebo selže. Zprávy ve frontě se odešlou, jakmile bude vnější proces nebo server SMTP online.
Účty pro převzetí při selhání Profil databázové pošty umožňuje zadat více než jeden server SMTP. Pokud server SMTP není dostupný, je možné poštu doručit na jiný server SMTP.
Podpora clusteru Databázová pošta je kompatibilní s clustery a je plně podporovaná na clusteru.
Škálovatelnost
Doručování na pozadí: Databázová pošta poskytuje doručování na pozadí nebo asynchronní doručování. Když zavoláte
sp_send_dbmailk odeslání zprávy, Databázová pošta přidá požadavek do fronty Service Broker. Uložená procedura okamžitě vrací výsledek. Externí e-mailová komponenta obdrží požadavek a doručí e-mail.Více profilů: Databázová pošta umožňuje vytvořit více profilů v instanci SQL Serveru. Volitelně můžete zvolit profil, který používá Databázová pošta při odesílání zprávy.
Více účtů: Každý profil může obsahovat více účtů pro převzetí služeb při selhání. Pro distribuci e-mailu mezi více e-mailových serverů můžete nakonfigurovat různé profily s různými účty.
64bitová kompatibilita: Databázová pošta je plně podporovaná v 64bitových instalacích SQL Serveru.
Zabezpečení
Ve výchozím nastavení vypnuto: Pokud chcete snížit plochu SQL Serveru, jsou uložené procedury databázové pošty ve výchozím nastavení zakázané.
- Chcete-li konfigurovat databázovou poštu, musíte být členem sysadmin pevné role serveru.
Zabezpečení pošty: Chcete-li odeslat databázovou poštu, musíte být členem role databáze DatabaseMailUserRole v
msdbdatabázi.Zabezpečení profilu: Databázová pošta vynucuje zabezpečení pro e-mailové profily. Zvolíte
msdbuživatele nebo skupiny databáze, které mají přístup k profilu Databázové pošty. Přístup můžete udělit konkrétním uživatelům nebo všem uživatelům vmsdbaplikaci . Soukromý profil omezuje přístup k zadanému seznamu uživatelů. Veřejný profil je k dispozici všem uživatelům v databázi.Správce velikosti příloh: Databázová pošta vynucuje konfigurovatelný limit velikosti souboru přílohy. Tento limit můžete změnit pomocí sysmail_configure_sp uložené procedury.
Zakázané přípony souborů: Database Mail udržuje seznam zakázaných přípon souborů. Uživatelé nemůžou připojit soubory s příponou, která se zobrazí v seznamu. Tento seznam můžete změnit pomocí sysmail_configure_sp.
Databázová pošta běží pod účtem služby SQL Server Engine. Pokud chcete připojit soubor ze složky k e-mailu, měl by mít účet modulu SQL Serveru oprávnění pro přístup ke složce se souborem.
Udržovatelnost
Integrovaná konfigurace: Databázová pošta uchovává informace pro e-mailové účty v databázovém stroji SQL Serveru. V externí klientské aplikaci není potřeba spravovat e-mailový profil. Průvodce konfigurací databázové pošty poskytuje pohodlné rozhraní pro konfiguraci databázové pošty. Můžete také vytvářet a udržovat konfigurace databázové pošty pomocí jazyka Transact-SQL.
Protokolování. Databázová pošta protokoluje e-mailovou aktivitu na SQL Server, protokol událostí aplikace Microsoft Windows a tabulky v
msdbdatabázi.Auditování: Databázová pošta uchovává kopie zpráv a příloh odesílaných v
msdbdatabázi. Můžete snadno auditovat využití databázové pošty a kontrolovat zachované zprávy.Podpora HTML: Databázová pošta umožňuje odesílat e-maily formátované jako HTML.
Architektura databázové pošty
Databázová pošta je navržena na frontové architektuře, která používá technologie služby Service Broker. Když uživatelé spustí sp_send_dbmail, uložená procedura vloží položku do poštovní fronty a vytvoří záznam, který obsahuje e-mailovou zprávu. Vložení nové položky do poštovní fronty spustí proces externí databázové pošty (DatabaseMail.exe). Externí proces přečte e-mailové informace a odešle e-mailovou zprávu na příslušný e-mailový server nebo servery. Externí proces vloží položku do fronty stavu pro výsledek operace odeslání. Vložení nové položky do stavové fronty spustí interní uloženou proceduru, která aktualizuje stav e-mailové zprávy. Kromě uložení odeslaných nebo neodeslaných e-mailových zpráv zaznamenává databázová pošta také všechny e-mailové přílohy v systémových tabulkách. Náhledy Databázového Mailu poskytují stav zpráv k řešení problémů a uložené procedury umožňují správu fronty Databázového Mailu.
Úvod do komponent Databázové pošty
Databázová pošta se skládá z následujících hlavních komponent:
Konfigurace a součásti zabezpečení
Databázová pošta ukládá informace o konfiguraci a zabezpečení v
msdbdatabázi. Objekty konfigurace a zabezpečení vytvářejí profily a účty používané službou Database Mail.Komponenty zasílání zpráv
Databáze
msdbfunguje jako databáze hostitele pošty, která obsahuje objekty pro zasílání zpráv, které databázová pošta používá k odesílání e-mailů. Tyto objekty zahrnují uloženou procedurusp_send_dbmaila datové struktury, které obsahují informace o zprávách.Spustitelný soubor databázové pošty
Spustitelný soubor Databázové pošty je externí program, který čte z fronty v
msdbdatabázi a odesílá zprávy e-mailovým serverům.Protokolování a auditování komponentů
Databázová pošta zaznamenává informace o protokolování v
msdbdatabázi a protokolu událostí aplikace Microsoft Windows.
Konfigurace agenta SQL pro použití databázové pošty
Agent SQL Serveru lze nakonfigurovat k používání Database Mail. To se vyžaduje pro oznámení výstrah a automatické oznámení po dokončení úlohy.
Výstraha
Jednotlivé kroky úlohy v rámci úlohy můžou také odesílat e-maily bez konfigurace agenta SQL Serveru tak, aby používaly databázovou poštu. Například krok úlohy Transact-SQL může pomocí databázové pošty odeslat výsledky dotazu do seznamu příjemců.
Agenta SQL Serveru můžete nakonfigurovat tak, aby odesílal e-mailové zprávy předdefinovaným operátorům v těchto případech:
Aktivuje se upozornění. Výstrahy je možné nakonfigurovat tak, aby odesílaly e-mailové oznámení o konkrétních událostech, ke kterým dochází. Výstrahy lze například nakonfigurovat tak, aby operátora upozorňují na konkrétní událost databáze nebo podmínku operačního systému, které by mohly vyžadovat okamžitou akci. Další informace o konfiguraci výstrah najdete v tématu Výstrahy.
Naplánovaná úloha, například zálohování databáze nebo událost replikace, proběhne úspěšně nebo selže. Pomocí pošty agenta SQL Serveru můžete například upozornit operátory, pokud během zpracování na konci měsíce dojde k chybě.
Pokud chcete začít konfigurovat agenta SQL tak, aby používal databázová pošta, přečtěte si téma Konfigurace pošty agenta SQL Serveru pro použití databázové pošty.
Databázová pošta s omezením skupin dostupnosti
Chcete-li používat databázovou poštu s obsaženými skupinami dostupnosti, musíte se připojit k instanci a povolit XPs rozhraní databázové pošty (možnost konfigurace serveru) pomocí systémové uložené procedury sp_configure. Tento krok musí být dokončen na všech replikách v obsahované skupině dostupnosti.
- Pokud se při připojení k posluchači omezeného skupiny dostupnosti pokusíte povolit
sp_configuremožnost pro databázovou poštu, zobrazí se očekávaná chyba:Changes to server configuration options are not permitted in the connection to Contained Availability Group. Change connection to SQL Server instance level and retry the operation. (Microsoft SQL Server, Error: 5874)
Po povolení Database Mail XPs možnosti na všech replikách se připojte k naslouchacímu procesu ohraničené skupiny dostupnosti a pokračujte v konfiguraci databázové pošty, jak je popsáno v části Vybrat konfigurační úlohu. Tím zajistíte, že objekty pošty databáze existují v rámci obsažené skupiny dostupnosti a zůstanou synchronizované.
Podpora TDS 8.0
SQL Server 2025 (17.x) zavedl podporu TDS 8.0 pro Database Mail. Protokol TDS 8.0 poskytuje rozšířené zabezpečení a šifrování dat přenášených mezi SQL Serverem a klientskými aplikacemi. To umožňuje, aby databázová pošta fungovala v prostředích, kde se vynucuje šifrování TLS 1.3 a TDS 8.0.
Troubleshoot
Informace o řešení potíží s databázovou poštou najdete v tématu:
- Řešení problémů s databázovou poštou
- Obecné kroky řešení potíží s databázovou poštou
- Databázová pošta: Pošta zařazená do fronty, nedoručovaná
- Běžné chyby s databázovou poštou