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

Намерете асоциациите между пощенските акаунти в базата данни и принципите на базата данни в SQL Server (T-SQL)

В SQL Server можете да използвате sysmail_help_principalprofile_sp съхранена процедура в msdb база данни, за да извлечете списък с всички асоциации между акаунти на Database Mail и принципали на база данни.

Можете също да върнете информация за акаунта въз основа на главното име/ID или името/идентификационния номер на профила.

Връщане на всички асоциации

За да върнете всички асоциации, просто изпълнете съхранената процедура без никакви параметри.

EXEC msdb.dbo.sysmail_help_principalprofile_sp; 

Резултат (с помощта на вертикален изход):

<предварителен>идентификатор_на_главница | 25главно_име | Margeprofile_id | 1име_на_профил | DB Admin Profile is_default | 1

Изброих резултатите, използвайки вертикално извеждане, така че да не се налага да превъртате настрани, за да видите всички колони.

В моя случай има само една асоциация.

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

Въз основа на име/идентификатор на главница

Можете да го стесните само до един принципал, като предадете името или идентификатора на принципала като параметър.

Основното име е името на потребителя или ролята на базата данни в msdb база данни.

Ето как да предадете главното име:

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

И ето как да предадете главния идентификатор:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_id = 25; 

Обърнете внимание, че @principal_id се предоставя като int .

Въз основа на име/идентификатор на профила

Като алтернатива можете да го стесните само до един профил, като подадете името или идентификатора на профила като параметър.

Ето как да предадете името на потребителския профил:

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

И ето как да предадете идентификатора на профила:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @profile_id = 1; 

Обърнете внимание, че @profile_id се предоставя като 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. Как да определите стойността на полето, която не може да се преобразува в (десетична, float,int) в SQL Server

  2. Какво означава времеви печат в T-Sql в C#?

  3. Кога трябва да използвам променлива на таблица срещу временна таблица в sql сървър?

  4. Генератори на данни за SQL сървър?

  5. Какъв е максималният брой знаци за NVARCHAR(MAX)?