Condividi tramite


Posta elettronica database

Posta elettronica database è una soluzione aziendale per l'invio di messaggi di posta elettronica dal motore di database SQL Server. Posta elettronica database consente alle applicazioni di database di inviare messaggi di posta elettronica agli utenti. I messaggi possono includere risultati di query e file provenienti da qualunque risorsa disponibile in rete.

Vantaggi dell'utilizzo della Posta elettronica database

Posta elettronica database è caratterizzata da affidabilità, scalabilità, sicurezza e facilità di supporto.

Affidabilità

  • Posta elettronica database utilizza il protocollo SMTP (Simple Mail Transfer Protocol) standard per l'invio della posta. È possibile usare Posta elettronica database senza installare un client MAPI esteso nel computer che esegue SQL Server.

  • Isolamento dei processi. Per ridurre al minimo l'impatto sulle SQL Server, il componente che recapita e-mail viene eseguito all'esterno di SQL Server, in un processo separato. SQL Server continuerà a accodare messaggi di posta elettronica anche se il processo esterno si arresta o non riesce. I messaggi accodati verranno inviati nel momento in cui il processo esterno o il server SMTP torna online.

  • Account di failover. Un profilo di Posta elettronica database consente di specificare più di un server SMTP. Nel caso in cui un server SMTP non sia disponibile, sarà comunque possibile recapitare la posta a un altro server SMTP.

  • Supporto dei cluster. Posta elettronica database è in grado di interagire con i cluster ed è pienamente supportato in un cluster.

Scalabilità

  • Recapito in background: Posta elettronica database consente il recapito in background o asincrono. Quando si chiama sp_send_dbmail per inviare un messaggio, Posta elettronica database aggiunge una richiesta a una coda di Service Broker. La stored procedure restituisce immediatamente un risultato. Il componente esterno di posta elettronica riceve la richiesta e recapita i messaggi.

  • Più profili: Posta elettronica database consente di creare più profili all'interno di un'istanza di SQL Server. Facoltativamente, è possibile scegliere il profilo utilizzato da Posta elettronica database quando viene inviato un messaggio.

  • Più account: ogni profilo può contenere più account di failover. È possibile configurare profili diversi con account diversi, per distribuire la posta elettronica su più server di posta.

  • Compatibilità a 64 bit: Posta elettronica database è completamente supportata nelle installazioni a 64 bit di SQL Server.

Sicurezza

  • Disattivato per impostazione predefinita: per ridurre l'area di superficie di SQL Server, le stored procedure Posta elettronica database sono disabilitate per impostazione predefinita.

  • Protezione posta elettronica: per inviare Posta elettronica database, è necessario essere un membro del ruolo del database DatabaseMailUserRole nel database msdb .

  • Sicurezza del profilo: Posta elettronica database impone la sicurezza per i profili di posta. È possibile scegliere gli utenti o i gruppi del database msdb autorizzati ad accedere a un profilo di Posta elettronica database. È possibile concedere l'accesso a utenti specifici o a tutti gli utenti in msdb. Un profilo privato consente di limitare l'accesso a un elenco specificato di utenti. Un profilo pubblico risulta disponibile per tutti gli utenti di un database.

  • Governor della dimensione dell'allegato: Posta elettronica database impone un limite configurabile per la dimensione dei file allegati. È possibile modificare tale limite usando la stored procedure sysmail_configure_sp .

  • Estensioni dei file allegati non consentite: Posta elettronica database gestisce un elenco di estensioni di file allegati non consentite. Gli utenti non possono allegare file la cui estensione è inclusa in tale elenco. È possibile modificare questo elenco utilizzando sysmail_configure_sp.

  • Posta elettronica database viene eseguito nell'account del servizio motore di SQL Server. Per collegare un file da una cartella a un messaggio di posta elettronica, l'account del motore di SQL Server deve disporre delle autorizzazioni per accedere alla cartella con il file.

Facilità di supporto

  • Configurazione integrata: Posta elettronica database gestisce le informazioni per gli account di posta elettronica all'interno di Transact-SQL.

  • Registrazione. Posta elettronica database registra l'attività di posta elettronica per SQL Server, il registro eventi dell'applicazione Microsoft Windows e le tabelle nel database msdb.

  • Controllo: Posta elettronica database mantiene le copie dei messaggi e degli allegati inviati nel database msdb . È possibile controllare con facilità l'utilizzo di Posta elettronica database ed esaminare i messaggi conservati.

  • Supporto per HTML: Posta elettronica database consente di inviare messaggi di posta elettronica in formato HTML.

Architettura di Posta elettronica database

Posta elettronica database è basato su un'architettura a code che impiega tecnologie service broker. Quando gli utenti eseguono sp_send_dbmail, la stored procedure inserisce un elemento nella coda della posta elettronica e crea un record contenente il messaggio di posta elettronica. L'inserimento della nuova voce nella coda della posta elettronica avvia il processo esterno di Posta elettronica database (DatabaseMail.exe). Il processo esterno legge le informazioni relative alla posta elettronica e invia il messaggio al server o ai server di posta elettronica appropriati. Il processo esterno inserisce un elemento nella coda di stato per il risultato dell'operazione di invio. L'inserimento della nuova voce nella coda di stato avvia una stored procedure interna che aggiorna lo stato del messaggio di posta elettronica. Oltre ad archiviare il messaggio di posta elettronica inviato o non inviato, Posta elettronica database registra eventuali allegati di posta elettronica nelle tabelle di sistema. Le viste di Posta elettronica database specificano lo stato dei messaggi per la risoluzione dei problemi, mentre le stored procedure consentono l'amministrazione della coda di Posta elettronica database.

msdb invia messaggi a un server di posta SMTP msdb invia messaggi a un server di

Introduzione ai componenti di Posta elettronica database

Il programma Posta elettronica database è costituito dai componenti principali seguenti:

  • Componenti di configurazione e di sicurezza

    Posta elettronica database archivia le informazioni di configurazione e di sicurezza nel database msdb . Gli oggetti di configurazione e di sicurezza creano profili e account utilizzati da Posta elettronica database.

  • Componenti di messaggistica

    Il database msdb funge da database host della posta elettronica contenente gli oggetti di messaggistica usati da Posta elettronica database per inviare i messaggi. Questi oggetti includono la stored procedure sp_send_dbmail e le strutture dei dati contenenti le informazioni relative ai messaggi.

  • File eseguibile di Posta elettronica database

    Il file eseguibile di Posta elettronica database è un programma esterno che legge i dati da una coda nel database msdb e invia i messaggi ai server di posta elettronica.

  • Componenti di registrazione e controllo

    Posta elettronica database registrare le informazioni di registrazione nel database msdb e nel registro eventi dell'applicazione Microsoft Windows.

Configurazione di SQL Server Agent per l'uso di Posta elettronica database:

SQL Server Agent può essere configurato per l'utilizzo di Posta elettronica database. Ciò è necessario per le notifiche degli avvisi e per la notifica automatica del completamento di un processo.

Avviso

I singoli passaggi del processo all'interno di un processo possono anche inviare messaggi di posta elettronica senza configurare SQL Server Agent per l'uso di Posta elettronica database. Ad esempio, un passaggio del processo Transact-SQL può usare Posta elettronica database per inviare i risultati di una query a un elenco di destinatari.

È possibile configurare SQL Server Agent per inviare messaggi di posta elettronica agli operatori predefiniti quando:

  • È stato attivato un avviso. È possibile configurare gli avvisi in modo da inviare notifiche tramite posta elettronica quando vengono generati eventi specifici, ad esempio per segnalare a un operatore un evento di database o una condizione del sistema operativo che richiede un intervento tempestivo. Per altre informazioni sulla configurazione degli avvisi, vedere Avvisi.

  • Quando un'attività pianificata, ad esempio il backup di un database o un evento di replica, viene completata o non riesce. Ad esempio, è possibile usare SQL Server Agent Mail per notificare agli operatori se si verifica un errore durante l'elaborazione alla fine di un mese.

Argomenti del componente Posta elettronica database