2012-07-26 7 views
5

Ho un utente del database che è il proprietario del database. Il requisito dell'applicazione è di inviare posta utilizzando la posta del database di SQL Server.Come concedere l'autorizzazione sendmail all'utente del server sql?

Esiste un modo per aggiungere un permesso di invio posta solo per quell'utente?

Ho un utente denominato testuser ruoli server con pubblico ed è db_owner per 1 database. Per favore dimmi il modo in cui non ho bisogno di dare i serverroles di sysadmin a quell'utente.

risposta

7

Si prega di provare con le 2 opzioni di seguito.

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

ora se sappiamo ClarkKent sta ottenendo la sua autorizzazione da un gruppo di Windows, quindi si aggiunge il gruppo di Windows come utente, e aggiungere quel gruppo per lo stesso ruolo;

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

Evidenziare il testo e utilizzare l'icona "Esempio di codice" per formattare il testo come codice. L'icona di esempio del codice ha l'aspetto '{}'. –

+0

Ho provato ma non riesco ancora a utilizzare il servizio di posta del database. –

+0

I get get below message ** L'autorizzazione EXECUTE è stata negata sull'oggetto 'sysmail_help_profile_sp', database 'msdb', schema 'dbo'. (.Net SqlClient Data Provider) ** –

0

enter image description here

è necessario aggiungere 'DatabaseMailUserRole' per il database MSDB all'utente