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

Znajdź skojarzenia między kontami pocztowymi bazy danych a zasadami bazy danych w SQL Server (T-SQL)

W SQL Server możesz użyć sysmail_help_principalprofile_sp procedura składowana w msdb bazy danych, aby pobrać listę wszystkich powiązań między kontami poczty bazy danych a podmiotami głównymi bazy danych.

Możesz również zwrócić informacje o koncie na podstawie nazwy/identyfikatora głównego lub nazwy/identyfikatora profilu.

Zwróć wszystkie powiązania

Aby zwrócić wszystkie skojarzenia, po prostu wykonaj procedurę składowaną bez żadnych parametrów.

EXEC msdb.dbo.sysmail_help_principalprofile_sp;

Wynik (przy użyciu wyjścia pionowego):

principal_id   | 25
principal_name | Marge
profile_id     | 1
profile_name   | DB Admin Profile
is_default     | 1

Wymieniłem wyniki za pomocą wyjścia pionowego, dzięki czemu nie musisz przewijać na boki, aby zobaczyć wszystkie kolumny.

W moim przypadku jest tylko jedno powiązanie.

Zauważ, że sysmail_help_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 msdb nie jest bieżącą bazą danych.

Na podstawie głównego nazwiska/identyfikatora

Możesz zawęzić go do tylko jednego podmiotu, przekazując nazwę główną lub identyfikator jako parametr.

Główna nazwa to nazwa użytkownika bazy danych lub rola w msdb baza danych.

Oto jak przekazać główne imię:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_name = 'Marge';

A oto jak przekazać główny identyfikator:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_id = 25;

Pamiętaj, że @principal_id jest dostarczany jako int .

Na podstawie nazwy/identyfikatora profilu

Alternatywnie możesz zawęzić go do tylko jednego profilu, przekazując nazwę profilu lub identyfikator jako parametr.

Oto jak przekazać nazwę profilu:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @profile_name = 'DB Admin Profile';

A oto jak przekazać identyfikator profilu:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @profile_id = 1;

Pamiętaj, że @profile_id jest dostarczany jako int .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Część czasowa pola DateTime w SQL

  2. Zmień nazwę kolumny SQL Server 2008

  3. Uzupełnij ciąg zerami na początku, aby miał 3 znaki w SQL Server 2008

  4. Utwórz widok w SQL Server 2017

  5. Jak łatwo i szybko sparametryzować ciąg o wartości null za pomocą DBNull.Value?