У меня есть учетная запись Windows с группой пользователей и пытаюсь выполнить sp_send_dbmail, но получить ошибку: имя профиля недопустимо. Однако, когда я вошел в систему как администратор и выполнил sp_send_dbmail, ему удалось отправить электронное письмо, так что очевидно, что имя профиля существует на сервере. Может ли кто-нибудь помочь?
Имя профиля недействительно
Ответ 1
Вам необходимо предоставить права пользователя или группы для использования профиля. Они должны быть добавлены в базу данных msdb, и вы увидите их в мастере почты, когда будете поддерживать безопасность для почты.
Прочтите защиту здесь: http://msdn.microsoft.com/en-us/library/ms175887.aspx
См. список почтовых процедур здесь: http://msdn.microsoft.com/en-us/library/ms177580.aspx
Пример script для '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 ;
Ответ 2
У меня тоже проблема. Вот что я сделал.
Если вы уже сделали предоставление пользователю/группе прав на использование имени профиля.
1. Перейдите в Почтовый ящик базы данных
2. Отметьте Управление безопасностью профилей
3. На вкладке "Общие профили" проверьте имя своего профиля
4. На вкладке "Частные профили" выберите "NT AUTHORITY\NETWORK SERVICE" для имени пользователя и проверьте свое имя профиля
5. На этот раз введите # 4 для имени пользователя NT AUTHORITY\SYSTEM
6. Нажмите "Далее" до "Готово".
Это все. Надеюсь, что это поможет.
Ответ 3
Вы включили профиль для агента SQL Server? Это общий шаг, который пропущен при создании профилей электронной почты в DatabaseMail.
Шаги:
- Щелкните правой кнопкой мыши агент SQL Server в проводнике объектов (SSMS)
- Нажмите Свойства
- Нажмите вкладку "Система оповещений" в левой панели навигации
- Включить почтовый профиль
- Установить Mail System и Mail Profile
- Нажмите "ОК"
- Перезапустить агент SQL Server