Jen stěží si většina z nás dokáže představit efektivně zvládnutou správu databázového systému bez možnosti automatických notifikací, tedy upozornění na důležité události, které se v databázovém systému odehrávají. Pojďme se tedy podívat na způsob použití a postup konfigurace oblíbené funkce Database Mail.

Stručná základní fakta :

  1. Database Mail je v MS SQL Serveru implementován od verze 2005
  2. Po instalaci je defaultně vypnutý a pro jeho použití  je nutné provést aktivaci
  3. Pro odeslání emailu využívá nakonfigurovaný Profil s SMTP účtem (v podstatě stejně jako když konfigurujete Outlook)
  4. Jedná se o plnohodnotnou možnost zasílání mailových zpráv včetně příloh, formátování, s volitelným zabezpečením a možností kontroly historie
  5. Veškerá konfigurace a historie je uložena v systémové databázi msdb
  6. Při odeslání zprávy je tato uložena do fronty, odesílání je tedy asynchronní

 

K čemu se dá Database Mail použít ? K čemukoliv chcete !

  • Některá z automatizovaných úloh (Backup, Index Defrag, Kontrola integrity apod.) byla ukončena chybou, nechcete na nic čekat a být o tom okamžitě informováni
  • Velikost transakčního logu produkční databáze vzrostla nad 10GB. Tato událost může být monitorována a jako reakce může být správci zaslán email – potom tedy mluvíme o  Proactive managementu
  • Aplikace zasílat zprávy klientům nebo uživatelům. Může využít procedury pro zasílání emailů přímo v SQL Serveru a není třeba toto programovat v samotné aplikaci.

Základní konfigurace Database Mail

Konfigurace Database Mail lze provést pomocí systémových procedur nebo pomocí průvodce v nástroji Management Studio. Protože je druhá možnost výrazně snazší, popíšeme si tento postup krok za krokem.

  1. Nástrojem SQL Server Management Studio se připojme do instance Database Engine, ve které chcete konfigurovat Database Mail. V Object Exploreru rozklikněte složku Management, ve které naleznete položku Database Mail. Po stisknutí pravého tlačítka myši vyberte Configure Database Mail, čímž dojde ke spuštění průvodce.Database Mail SSMS
  2. Využitím průvodce je konfigurace poměrně intuitivní a umožňuje tvorbu a konfiguraci účtů a dalších vlastností. Protože provádíme prvotní konfiguraci, bude nutné vytvořit profil, SMTP účet, nastavit zabezpečení a systémové parametry. Pro provedení těchto kroků ponechte vybranou první možnost s názvem Set up Database Mail by performing the following tastks02
  3. Jak jsem uvedl výše, Database Mail je po instalaci SQL Serveru standardně vypnutý a pro jeho používání je nutné jej aktivovat. Pokud jste tak neučinili manuálně (procedurou sp_configure), průvodce na základě Vašeho souhlasu tuto aktivaci provede v dalším kroku.EnableMail
  4. Nejprve je třeba vytvořit nový profil. Profil je identifikován názvem, který je obvykle nutné znát při pozdějším pokusu o odeslání emailu. K profilu je přidružen jeden nebo více SMPT účtů, které budou použity při odesílání emailu. V následujícím menu zadejte tedy název profilu a pokračujte tlačítkem Add přidáním SMPT účtu03
  5. V okně tvorby SMTP účtu zadáme informace o mailovém účtu, který bude použit SQL Serverem při odesílání emailů. Account name slouží čistě pro naši identifikaci účtu, vyplníme E-mail address, nepovinně Display name a Replay e-mail, na který budou odesílány odpovědi v případě, že na Vaši zprávu bude chtít někdo reagovat. Důležité je správně vyplnit Server name což je adresa serveru, na kterém běží poštovní služba. Lze použít název počítače, DNS název nebo IP adresu, nezapomeňte na případnou změnu portu Port number. V druhé čísti zvolte typ ověření. Při zvolení první možnosti se bude SQL Server připojovat k mailovému serveru pomocí účtu, pod kterým běží služba Database Engine. Druhá možnost Vám dovolí zadat jméno/heslo a třetí volba použije anonymní ověřování. Pokud si nejste jisti, všechny informace pro správné vyplnění získáte od správce poštovního serveru.04
  6. Po přiřazení SMTP účtu do profilu můžete pokračovat tvorbou dalšího SMTP účtu, tedy každý profil může obsahovat více SMTP účtů a to z toho důvodu, že pokud se SQL Server nepodaří odeslat mail pomocí jednoho účtu, pokusí se o to samé dalším účtem. SMTP účty jsou v profilu řazeny dle priority, se kterou jsou použity při odesílání. Vždy je při odeslání použit ten účet, který byl použit úspěšně v minulosti nebo ten s nejvyšší prioritou. Níže uvedený obrázek ukazuje tvorbu profilu s dvěma SMTP účty, ale pro Vaši konfiguraci postačí jeden vytvořený.05
  7.  Následuje zabezpečení. Systém zabezpečení podrobněji popíšu v samostatném článku. Pokud vytváříte profil, který bude sloužit účelům administrátorů, není v této fázi nutné oprávnění nastavovat, protože sysadmin má oprávnění použít všechny vytvořené profily. Pokračujte tedy tlačítkem Next.06
  8. Poslední okno průvodce Vás vyzývá k nastavení systémových parametrů, které ovlivní všechny odesílané emaily. Počet opakování při odeslání emailu, prodleva mezi pokusy o opakování, maximální velikost příloh. Logging Level udává to, co bude při použití Database Mailu logování a hodnota Extended loguje chyby, varování a informace ve vztahu k zasílání zpráv. Database Mail Executable udává počet sekund, po které bude proces mailu aktivní po odeslání zprávy. Toto snižuje nutnost neustálé opakované aktivace při častém zasílání zpráv.08
  9. Následuje rekapitulace a tlačítkem Finish spustíte tvorbu objektů a konfiguraci.09

Informace o tom, jak mail používat, konfigurovat oprávnění, monitorovat, zjišťovat historii a další, budou následovat v dalších článcích.Database Mail SSMS