2010-08-16 14 views
27

Ho un account Windows con gruppo utenti e sto provando a eseguire sp_send_dbmail ma ricevendo un errore: il nome profilo non è valido. Tuttavia, quando ho effettuato l'accesso come amministratore ed eseguito lo sp_send_dbmail, è riuscito a inviare l'e-mail, quindi ovviamente il nome del profilo esiste sul server. Qualcuno può chiedere aiuto?nome profilo non valido

risposta

37

È necessario concedere all'utente o ai diritti di gruppo di utilizzare il profilo. Devono essere aggiunti al database msdb e quindi li vedrai disponibili nella procedura guidata della posta quando stai mantenendo la sicurezza per la posta.

leggere fino alla sicurezza qui: http://msdn.microsoft.com/en-us/library/ms175887.aspx

vedere un elenco di procedure mail: http://msdn.microsoft.com/en-us/library/ms177580.aspx

esempio di script per 'TestUser' di utilizzare il profilo denominato 'Generale Admin Mail'.


USE [msdb] 
GO 
CREATE USER [TestUser] FOR LOGIN [testuser] 
GO 
USE [msdb] 
GO 
EXEC sp_addrolemember N'DatabaseMailUserRole', N'TestUser' 
GO 

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp 
    @profile_name = 'General Admin Mail', 
    @principal_name = 'TestUser', 
    @is_default = 1 ; 
+0

puoi per favore darmi gli script di esempio su come assegnare l'utente al gruppo giusto? – user384080

+6

Dato che sono una persona così gentile;) Ho fornito questo script per te. – Sam

+3

Questo errore può verificarsi anche se hai specificato il nome del profilo WRONG tramite alcuni tipi di codice ... cioè, sp_send_dbmail @profile_name = N'Some profilo che non esiste, ecc ... genererà anche questo errore . –

13

ho avuto lo stesso problema anche. Ecco cosa ho fatto.

Se hai già finito concedi all'utente/gruppo i diritti per utilizzare il nome del profilo.
1. Vai alla configuration Wizard of Database Mail
2. Selezionare Gestisci profilo di sicurezza
3. Nella scheda profili pubblici, controllare il nome del profilo
4. Nella scheda profili privati, selezionare NT AUTHORITY \ SERVIZIO DI RETE per il nome utente e controllare la nome profilo
5. Questa volta # 4 per NT AUTHORITY \ SYSTEM nome utente
6. Fare clic su Avanti fino a Fine.

Questo è tutto. Spero che sia d'aiuto.

+0

Questa era la soluzione per me! Grazie! –

+0

... anche per me - Grazie :) – nesmoht

+1

Cosa succede se non si dispone di "NT AUTHORITY \ NETWORK SERVICE" come utente nella particolare istanza di SQL? l'ho risolto in un altro modo Vedi la mia risposta sopra. – Fandango68

0

È stato abilitato il profilo per Agente SQL Server? Questo è un passo comune che viene perso durante la creazione di profili e-mail in DatabaseMail.

Passi:

  • pulsante destro del mouse su SQL Server Agent in Esplora oggetti (SSMS)
  • Fare clic su Proprietà
  • Fare clic sulla scheda Alert System nella navigazione a sinistra
  • Abilitare il profilo di posta
  • Imposta il sistema di posta e il profilo di posta
  • Fare clic su OK
  • Riavvia SQL Server Agent
Problemi correlati