INTRODUZIONE
Le notifiche sono comuni nella maggior parte dei sistemi moderni. SQL Server ha implementato mezzi per inviare notifiche via e-mail in anticipo con la funzionalità denominata SQL Mail. In SQL Server 2005 è stato rilasciato Posta elettronica database e la posta elettronica database funziona ancora nelle versioni correnti di SQL Server. Dato questo background, possiamo dire che Posta elettronica database è una funzionalità molto matura in SQL Server.
Nella mia esperienza ho affrontato alcuni casi d'uso relativi alla distribuzione di Posta elettronica database.
L'elenco non è completo, ma dai un'occhiata ad alcuni problemi:
- Monitoraggio – Ai miei tempi da amministratore di database, in assenza di uno strumento di monitoraggio completo, ho adottato uno script sviluppato da un conoscente che bloggava su SQL Server Central. Quello script era basato su HTML, ma incorporava SQL che estraeva i dati dalle viste del catalogo di sistema chiave e inviava l'output via e-mail agli amministratori.
- Risultati di lavoro – Ho anche utilizzato Database Mail per consegnare l'output dei lavori agli amministratori del database o anche agli utenti normali che desideravano ottenere tali informazioni. Un agente SQL ti consente di sfruttare Database Mail per inviare semplicemente lo stato dei lavori:successo o errore. Puoi andare oltre sviluppando script usando la procedura memorizzata sp_send_dbmail
- Segnalazione – Nel caso di report semplici, sp_send_dbmail la procedura memorizzata può essere utilizzata anche per aggregare un set di risultati e inviarlo come file o in un'e-mail con la formattazione corretta.
REQUISITI
I seguenti sono requisiti essenziali da considerare durante la configurazione di Posta elettronica database:
- La porta 25 (SMTP) deve essere aperta tra l'host SQL Server e Exchange Server. È rilevante negli ambienti in cui la rete è segmentata da firewall.
- L'host di SQL Server deve disporre delle autorizzazioni di inoltro della posta nel dominio. Un amministratore di Microsoft Exchange dovrebbe essere in grado di assicurartelo.
- Crea un account del server di scambio per inviare e-mail. Non è obbligatorio, ma personalmente preferisco avere il controllo su quale account esegue quali azioni nel mio ambiente.
PROCEDURA
Per inviare messaggi di posta elettronica da un'istanza di SQL Server, è necessario configurare Posta elettronica database. Procedi come segue:
- La schermata di benvenuto ti offre una panoramica delle azioni che stai per intraprendere. In questo processo, imposterai un profilo di posta, un account di posta, la sicurezza e quindi configurerai i parametri di sistema. (Vedi Figura 1)
2. Ora vengono visualizzate le opzioni da selezionare con i pulsanti di opzione. Poiché stiamo configurando la posta del database per la prima volta, scegliamo il primo pulsante di opzione.
3. Abilita la funzione Posta database per procedere con la configurazione.
4. Crea un profilo. Un profilo è una raccolta di account di posta utilizzati dal motore di SQL Server per inviare messaggi di posta elettronica. Il disaccoppiamento del profilo e degli account consente flessibilità e affidabilità. Puoi modificare l'account e-mail associato al tuo profilo e-mail a piacimento. Inoltre, puoi utilizzare più account e-mail per lo stesso profilo, fornendo così resilienza.
5. Visualizza i dettagli necessari per configurare l'account di posta:il nome dell'account, l'account di posta elettronica associato, il server di posta e le credenziali. Come accennato in precedenza, puoi scegliere di inviare e-mail in modo anonimo.
Dopo aver configurato l'account di posta, lo hai associato con successo al profilo di posta. Puoi anche aggiungere account aggiuntivi. Tieni presente che per motivi di sicurezza, a tali account, come specificato nel campo dell'indirizzo e-mail, dovrebbe essere negato l'accesso interattivo ai server. Riduce i danni in caso di compromissione.
7. Il passaggio successivo consiste nell'impostare la sicurezza per il profilo. Scegli tu se rendere il profilo pubblico o privato. Un profilo pubblico può essere utilizzato da qualsiasi entità su SQL Server aggiunta al ruolo database DatabaseMailUserRole . Un profilo privato può essere utilizzato solo dall'account sysadmin o da altro principal con privilegi EXECUTE su sp_send_dbmail procedura memorizzata. Il profilo pubblico di solito si adatta ai miei scopi.
L'ultimo passaggio significativo è la configurazione dei parametri di sistema. La maggior parte delle persone trova più facile saltare questo passaggio. Possiamo modificare tali configurazioni come tentativi, dimensione del file e registrazione. Personalmente ho trovato utile aumentare il limite della dimensione del file quando si imposta un rapporto di dimensioni superiori a 1 MB.
9. Completa la configurazione.
CONCLUSIONE
In questo articolo, abbiamo esaminato la configurazione passo passo di Posta elettronica database. Abbiamo anche fornito alcuni suggerimenti pratici aggiuntivi. In un articolo successivo, esploreremo i cataloghi di sistema che espongono i dati per monitorare e risolvere i problemi di Database Mail.
RIFERIMENTI
Oggetti di configurazione della posta del database