Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Предоставяне на потребителски достъп на msdb до пощенски профил на база данни в SQL Server (T-SQL)

За да изпращате имейл с помощта на Database Mail в SQL Server, потребителят трябва да е член на DatabaseMailUserRole в msdb база данни и имате достъп до поне един профил на Database Mail.

За да предоставите на потребителя достъп до профил на Database Mail с T-SQL, използвайте sysmail_add_principalprofile_sp съхранена процедура в msdb база данни.

Пример

Ето пример за демонстрация.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'DB Admin Profile',
    @principal_name = 'Marge',
    @is_default = 1;

В този случай предоставям на потребителя „Marge” достъп до профила „DB Admin Profile”.

Това предполага, че профилът и потребителят вече съществуват.

В този случай също посочих @is_default = 1 , което прави това профил по подразбиране за потребителя.

Посочете идентификатори на потребител/профил

Като алтернатива можете да посочите потребителския идентификатор и/или идентификатора на акаунта вместо техните имена.

Следователно бихме могли да променим предишния пример, за да изглежда така:

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_id = 1,
    @principal_id = 25,
    @is_default = 1;

Това очевидно предполага, че това са идентификаторите за въпросните акаунти.

Имайте предвид, че трябва да се предостави или името, или идентификационния номер.

Също така, когато се предоставят идентификаторите, те се предоставят като int .

Имайте предвид, че sysmail_add_principalprofile_sp съхранената процедура е в msdb база данни и е собственост на dbo схема. Следователно, ще трябва да използвате три части наименуване, ако го изпълнявате извън msdb база данни.

Обществени профили

Можете също да направите профил като обществен профил по подразбиране за потребители в msdb база данни.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'DB Public Profile',
    @principal_name = 'public',
    @is_default = 1;

За да направите профил публичен, посочете @principal_id от 0 или @principal_name на public . Публичният профил е достъпен за всички потребители в msdb база данни (въпреки че потребителите трябва също да са членове на DatabaseMailUserRole за изпълнение на sp_send_dbmail ).

Имайте предвид, че може да има само един обществен профил по подразбиране.

Конфигуриране на поща от база данни

Горните стъпки предполагат, че вече сте създали профил на Database Mail и сте добавили поне един акаунт в Database Mail към този профил.

Вижте Как да изпращате имейл в SQL Server за пълен пример за конфигуриране на Database Mail, след което изпращане на имейл.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 6 начина за проверка на размера на база данни в SQL Server с помощта на T-SQL

  2. Намерете стойност навсякъде в база данни

  3. Кой е най-добрият начин за автоматично генериране на INSERT изрази за таблица на SQL Server?

  4. Нуждаете се от помощ при изчисляване с помощта на два набора от данни, използващи Expression SSRS

  5. SQL Server:Открийте стойността по подразбиране на колона със заявка