Qué es Database Mail Database Mail es una característica disponible desde SQL Server 2005, que permite el envío asíncrono de correo electrónico desde el motor de base de datos (incluyendo ficheros adjuntos, resultados de consultas, envío de correo electrónico en formato HTM, !otificación a "peradores por #lertar o finali$ación de %obs, etc&'. Utiliza directamente directa mente el protocolo SM!, SM!, " para poder ser utilizado, debe ser previamente #abilitado $con sp%con&i'ure( " con&i'urado con&i'urado en SQL Server $especialmente, los per&iles de correo(. Database Mail viene a sustituir a SQL Mail, que actualmente se inclu"e por motivos de compatibilidad #acia atr)s, " en &uturas versiones desaparecer). *dem)s, Database Mail est) soportado para &uncionar en una instalaci+n de SQL Server en luster. De #ec#o, en esta serie de artículos con&i'uraremos " usaremos Database Mail es una instalación en luster de )Q )erver *++ -* sobre un .ailover luster de /indo0s )erver *++ -*. Database Mail es un componente 1ue se ejecuta fuera del proceso del propio motor de base de datos $es decir, del propio SQL Server(, lo cual implica ciertas venta-as desde el punto de vista de la estabilidad del sistema, "a que una prdida de servicio o una incidencia de Database Mail no a&ectar) al motor de base de datos, al tratarse de procesos independientes. /n particular, en SQL Server 200 12 se trata del e-ecutable DatabaseMail&e2e.
/l &uncionamiento de Database Mail se apo"a en el Service ro3er, es decir, para su correcto &uncionamiento, )ervice 3ro4er debe estar habilitado en la base de datos del sistema M)D3. De este modo, cada vez que se envía un correo electr+nico con Database Mail, se realizar) de &orma asíncrona, pudiendo ser encolado si &uera necesario. on Database Mail podemos confi5urar m6ltiples perfiles de correo electrónico. ada per&il de correo electr+nico, puede ser 76blico o 7rivado. Los per&iles !4blicos pueden ser utilizados por cualquier usuario, mientras que los per&iles privados est)n asociados a un usuario especí&ico. /n la con&i'uraci+n de cada perfil de correo electrónico especificaremos una o varias cuentas de correo electrónico, ordenadas se'4n la prioridad que deseemos dar a cada cuenta. uando #ablamos de cuentas de correo electr+nico, nos re&erimos a las correspondientes con&i'uraciones de correo electr+nico, principalmente el servidor SM!, SM!, autenticaci+n de acceso ac ceso al SM! $b)sica, inte'rada en indo6s, o acceso an+nimo(, " la cuenta de correo electr+nico. /l #ec#o de con&i'urar
m4ltiples cuentas para un 4nico per&il, nos permite que en caso de fallo en el envío de correo electrónico utili$ando una cuenta, se pueda intentar el envío utili$ando el resto de cuentas confi5uradas, si'uiendo el orden de prioridad asi'nado a las cuentas. Database Mail tambin nos permite realizar ciertas con&i'uraciones 'lobales de 'ran utilidad, en particular7 • • • • • •
*ccount 1etr" *ttempts. *ccount 1etr" Dela" $seconds(. Ma8imum 9ile Size $"tes(. !ro#ibited *ttac#ment 9ile /8tensions. Database Mail /8ecutable Minimum Li&etime $seconds(. Lo''in' Level.
*sí, por de&ecto Database Mail limita el tama:o de los &ic#eros ad-untos a ;M. Si necesitamos ampliar este límite, tan s+lo tendremos que modi&icar la correspondiente con&i'uraci+n 'lobal $Ma8imum 9ile Size(. Una vez con&i'urado Database Mail, podremos utilizarlo para enviar correo electrónico desde T)Q (incluyendo emails en formato HTM'. Sin embar'o, tambin lo podremos utilizar con el *'ente de SQL Server, para el envío de !otificaciones por correo electrónico a los "peradores, tanto en el caso de las #lertas, como en la finali$ación de %obs, etc. !or e-emplo, nos puede resultar mu" interesante que nos envíe un correo electr+nico cuando un
7rincipales diferencias entre Database Mail y )Q Mail Sin duda, un tema interesante7 Database Mail vs )Q Mail. omo se puede ver a continuaci+n, Database Mail 'ana por 'oleada. De #ec#o, es recomendable mi'rar SQL Mail a Database Mail, si es que a4n utilizamos SQL Mail, pues adem)s, )Q Mail ser8 eliminado en futuras versiones de )Q )erver. De #ec#o, desde SQL Server 2005, SQL Mail se mantiene tan s+lo por motivos de compatibilidad #acia atr)s. reve comparaci+n7 •
•
Database Mail. 9st8 basado en )MT7 $Simple Mail rans&er !rotocol(, es decir, utiliza directamente el servidor SM! con&i'urado para el envío del correo electr+nico, por lo que resulta m)s apropiado " se'uro. !ueden con&i'urarse los per&iles de correo electr+nico deseados directamente desde SQL Server $de &orma 'r)&ica o con SQL(. Database Mail es un proceso independiente a )Q )erver, que es utilizado mediante procedimientos almacenados del sistema " el )ervice 3ro4er, recomendable para evitar problemas de estabilidad " de rendimiento. Database Mail ): est8 soportado en instalaciones de )Q )erver en luster, lo cual, -unto a la posibilidad de poder utilizar m4ltiples cuentas de correo $es decir, m4ltiples servidores SM!(, se presenta como una 'ran venta-a en el terreno de la *lta Disponibilidad. )Q Mail. 9st8 basado en M#7: $Messa'in' *pplication !ro'rammin' =nter&ace(, es decir, re1uiere de la instalación de un liente M#7: como Microsoft "utloo4 en la propia m)quina SQL Server, menos r)pido " se'uro. De este modo, SQL Mail utilizar) los componentes M*!= de una aplicaci+n e8terna $e-7 Microso&t >utloo3( para enviar " recibir correos electr+nicos. Deben con&i'urarse los perfiles de correo electrónico en el servidor con el cliente M#7: utili$ado (ej; "utloo4', lo cual resulta al'o tedioso. La utilizaci+n de SQL Mail se realiza utilizando procedimientos almacenados e8tendidos $e-7 8p%sendmail(, los cuales invocar)n al cliente de correo utilizado. )Q Mail no est8 soportado en instalaciones de )Q )erver en luster, "a que el inter&az M*!= utilizado por SQL Server
no es luster?*6are