2012-07-26 38 views
5

Tengo un usuario de base de datos que es el propietario de la base de datos. El requisito de la aplicación es enviar correo utilizando el correo de la base de datos del servidor sql.¿Cómo otorgar permiso de sendmail al usuario del servidor sql?

¿Hay alguna manera de que pueda agregar permiso solo para enviar un correo a ese usuario?

Tengo un usuario llamado usuarioprueba que tienen funciones de servidor público y es db_owner durante 1 base de datos. Por favor, dígame la forma en que no necesito darles serverreadles sysadmin a ese usuario.

Respuesta

7

Por favor, intente con las siguientes 2 opciones.

USE msdb; 
--add our user 
CREATE USER ClarkKent FOR LOGIN ClarkKent; 
--give this user rights to use dbmail 
exec sp_addrolemember 'DatabaseMailUserRole', 'ClarkKent' 

ahora si sabemos ClarkKent está recibiendo su autorización de un grupo de ventanas, a continuación, agregar ese grupo de ventanas como usuario, y añadir ese grupo para el mismo papel;

USE msdb; 
--add our user via a group we know he is in 
CREATE USER 'mydomain\BusinessGroup' FOR LOGIN 'mydomain\BusinessGroup'; 
--give this GROUP rights to use dbmail 
exec sp_addrolemember 'DatabaseMailUserRole', 'mydomain\BusinessGroup' 
+0

Selecciona el texto y utilizar el icono "Código de ejemplo" para formatear el texto como código. El ícono de muestra del código se ve como '{}'. –

+0

Lo he intentado pero todavía no puedo usar el servicio de correo de la base de datos. –

+0

Aparece el mensaje siguiente ** El permiso EXECUTE fue denegado en el objeto 'sysmail_help_profile_sp', la base de datos 'msdb', el esquema 'dbo'. (.Net SqlClient Data Provider) ** –

0

enter image description here

necesita añadir 'DatabaseMailUserRole' para la base de datos MSDB al usuario

Cuestiones relacionadas