Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Przyznaj użytkownikowi msdb dostęp do profilu poczty bazy danych w programie SQL Server (T-SQL)

Aby wysyłać wiadomości e-mail przy użyciu poczty bazy danych w programie SQL Server, użytkownik musi być członkiem DatabaseMailUserRole w msdb bazy danych i mieć dostęp do co najmniej jednego profilu poczty bazy danych.

Aby przyznać użytkownikowi dostęp do profilu poczty bazy danych za pomocą T-SQL, użyj sysmail_add_principalprofile_sp procedura składowana w msdb Baza danych.

Przykład

Oto przykład do zademonstrowania.

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

W tym przypadku przyznaję użytkownikowi „Marge” dostęp do profilu „profil administratora DB”.

Zakłada się, że profil i użytkownik już istnieją.

W tym przypadku również podałem @is_default = 1 , co sprawia, że ​​jest to domyślny profil użytkownika.

Określ identyfikatory użytkownika/profilu

Możesz alternatywnie podać identyfikator użytkownika i/lub identyfikator konta zamiast ich nazw.

Dlatego możemy zmienić poprzedni przykład, aby wyglądał mniej więcej tak:

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

To oczywiście zakłada, że ​​są to identyfikatory kont, o których mowa.

Pamiętaj, że należy podać imię i nazwisko lub identyfikator.

Ponadto, podając identyfikatory, są one podawane jako int .

Zauważ, że sysmail_add_principalprofile_sp procedura składowana znajduje się w msdb bazy danych i jest własnością dbo schemat. Dlatego będziesz musiał użyć trzyczęściowego nazewnictwa, jeśli wykonasz je spoza msdb baza danych.

Profile publiczne

Możesz także ustawić profil jako domyślny profil publiczny dla użytkowników w msdb baza danych.

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

Aby ustawić profil jako publiczny, określ @principal_id z 0 lub @principal_name z public . Profil publiczny jest dostępny dla wszystkich użytkowników w msdb baza danych (chociaż użytkownicy muszą być również członkami DatabaseMailUserRole wykonać sp_send_dbmail ).

Pamiętaj, że może istnieć tylko jeden domyślny profil publiczny.

Konfigurowanie poczty bazy danych

W powyższych krokach założono, że utworzono już profil poczty bazy danych i dodano do tego profilu co najmniej jedno konto poczty bazy danych.

Zobacz Jak wysłać wiadomość e-mail w SQL Server, aby zapoznać się z pełnym przykładem konfiguracji poczty bazy danych, a następnie wysyłania wiadomości e-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. oddziel wartości oddzielone przecinkami i przechowuj w tabeli na serwerze sql

  2. Jak uzyskać ostatni dzień zeszłego tygodnia w sql?

  3. Jak przenosić pliki danych w SQL Server — część 1

  4. Przenoszenie tabeli SQL Server do innej grupy plików

  5. Grupa użytkowników Charlotte SQL Server:Napraw wolne zapytania. Szybko.