2014-01-29 2 views
1

Я пытаюсь отправить электронное письмо через SQL Server Management Studio, но он возвращает ошибку.Отправка электронной почты с помощью SQL Server вызывает ошибку

EXEC msdb.dbo.sp_send_dbmail 
    @profile_name = 'Adventure Works Administrator', 
    @recipients = '[email protected]', 
    @body = 'The stored procedure finished successfully.', 
    @subject = 'Automated Success Message' 

Ошибка:

Разрешение EXECUTE было отказано на объекте 'sp_send_dbmail', база данных 'MSDB', схемы "ДБО.

Я занимаюсь серфингом в Интернете, чтобы исправить эту проблему, но никто не выработал. Нужна ваша помощь. Благодаря

+1

'грант на выполнение dbo.sp_send_dbmail к ;' –

ответ

1

Может быть, ваш пользователь не имеет необходимых прав на SQL, например, вы ориентируетесь, как это было предложено в комментариях:

grant execute on dbo.sp_send_dbmail to <usernamehere>; 

Смотрите Troubleshooting article по этому вопросу:

EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole' 
    ,@membername = '<user or role name>'; 
GO 

Кроме того, вы, возможно, не настроили эту функцию, см. documentation:

Перед использованием Databa se Mail должен быть включен с помощью мастера настройки базы данных или sp_configure.

this one И для конфигурации:

USE master 
Go 

EXEC sp_configure 'show advanced options', 1 
Go 

RECONFIGURE 
Go 

EXEC sp_configure 'Database Mail XPs', 1 
Go 

RECONFIGURE 
Go 

EXEC sp_configure 'show advanced options', 0 
Go 

RECONFIGURE 
Go 
+0

Да, configvalue в почтовой базе данных XPs устанавливается в 0, как изменить его? –

+0

@SherzodMuminov См. Мое редактирование. – cubitouch

+0

Теперь, самый глупый вопрос о stackoverflow когда-либо: Как узнать, что такое мое имя пользователя?)) –

Смежные вопросы