Неверное имя профиля - PullRequest
       1

Неверное имя профиля

34 голосов
/ 16 августа 2010

У меня есть учетная запись Windows с группой пользователей, и я пытаюсь выполнить sp_send_dbmail, но получаю сообщение об ошибке: имя профиля недействительно. Однако, когда я вошел в систему как администратор и запустил sp_send_dbmail, ему удалось отправить электронное письмо, поэтому очевидно, что имя профиля существует на сервере. Кто-нибудь может помочь?

Ответы [ 5 ]

40 голосов
/ 17 августа 2010

Вам необходимо предоставить пользователю или группе права на использование профиля.Их нужно добавить в базу данных msdb, и тогда вы увидите их доступными в мастере почты, когда будете поддерживать безопасность почты.

Прочтите информацию о безопасности здесь: http://msdn.microsoft.com/en-us/library/ms175887.aspx

См. Список почтовых процедур здесь: http://msdn.microsoft.com/en-us/library/ms177580.aspx

Пример сценария для TestUser для использования профиля с именем 'General 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 ;
18 голосов
/ 27 января 2015

У меня тоже такая же проблема. Вот что я сделал.

Если вы уже закончили, предоставив пользователю / группе права на использование имени профиля.
1. Перейдите к мастеру настройки из Почта базы данных
2. Галочка Управление профилем безопасности
3. На вкладке общедоступных профилей проверьте имя своего профиля
4. На вкладке личных профилей выберите NT AUTHORITY \ NETWORK SERVICE в качестве имени пользователя и проверьте имя своего профиля
5. Выполните # 4 на этот раз для NT AUTHORITY \ SYSTEM имя пользователя
6. Нажимайте кнопку Далее, пока не закончите.

Вот и все. Надеюсь, это поможет.

2 голосов
/ 14 ноября 2017

Вы включили профиль для агента SQL Server ? Это общий шаг, который пропускается при создании профилей электронной почты в DatabaseMail.

Шаги:

  • Щелкните правой кнопкой мыши по агенту SQL Server в Обозревателе объектов (SSMS)
  • Нажмите на Свойства
  • Нажмите на вкладку Система оповещения в левой части навигации
  • Включить почтовый профиль
  • Настройка почтовой системы и почтового профиля
  • Нажмите ОК
  • Перезапустить агент SQL Server
0 голосов
/ 03 января 2019

имя профиля недопустимо [SQLSTATE 42000] (ошибка 14607)

Это случилось со мной после того, как я скопировал скрипт задания со старого SQL-сервера на новый SQL-сервер. В SSMS в разделе «Управление» имя профиля компонента «Почта базы данных» в новом SQL Server было другим. Все, что мне нужно было сделать, это обновить имя в рабочем скрипте.

0 голосов
/ 03 июля 2018

В моем случае я перемещал SProc между серверами, и имя профиля в моем коде TSQL не совпадало с именем профиля на новом сервере.

Обновление имени профиля TSQL == Новое имя профиля сервера исправило ошибку для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...