sábado, 27 de junio de 2009

Configurar el SQL Server DatabaseMail

DatabaseMail es una solución empresarial para enviar correo electrónico desde sql server. Esta no esta disponible para versiones de Sql Express edition

Para habilitarla debes hacerlo a trabes del SQL Server Surface Area Configuration o Database Mail Configuration Wizard

Por medio del asistente tu puedes realizar la siguientes tareas

*Configurar el Database email
*Administrar las cuentas de correo y perfiles
*Administrar la seguridad de los perfiles
*Ver y cambiar parámetros del sistema

Para poder configurarlo debes ser miembro de Sysadmin rol y para poder utilizarlo debes ser miembro de DatabaseMailUserRole en MSDB

Los siguientes procedimiento almacenados sirven para configurar el DatabaseMail:

sysmail_configure_sp: Configura las opciones de DM

sysmail_help_configure_sp : Muestra las opciones de configuracion


sysmail_(add,update,delete)_account_sp: añade,modifica o borra una nueva cuenta de usuario

sysmail_(add,update,delete)_profile_sp : añade, modifica o borra un perfil


sysmail_(add,update,delete)_profileaccount_sp : añade, modifica o barra una cuenta de usuario de un perfil

sysmail_help_(account,profile,profileaccount)_sp : lista informacion sobre las cuentas, perfiles y cuentas asociadas a perfiles


sysmail_(add, update,delete)_principalprofile_sp : da , modifica o quita los permisos de un principal sobre un perfil

sysmail_(start,stop)_sp: inicia o detiene el DataBsaeMail y su respectiva cola

Un ejemplo sencillo de configurar el database mail puede ser el siguiente script,

use msdb

--Creacion de cuenta de correo
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'UserAccount',
@description = 'Mail account for administrative e-mail.',
@email_address = 'dba@Prueba.com',
@display_name = 'Prueba Automated Mailer',
@mailserver_name = 'smtp.Prueba.com' ;


--Creacion de perfil de correo
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'Prueba Administrator',
@description = 'Perfil del administrador' ;

--asociacion de cuenta de correo a perfil
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'Prueba Administrator',
@account_name = 'UserAccount',
@sequence_number = 1 ;


--Creacion del usuario en la BD msdb
create user julio

-- Asignacion de rol DatabaseMailUserRole al principal julio
EXEC sp_addrolemember N'DatabaseMailUserRole', N'julio'

-- asignacion del profile a el principal
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'julio',
@profile_name = 'Prueba Administrator',
@is_default = 1 ;

No hay comentarios:

Publicar un comentario