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

Избройте акаунтите, свързани с пощенски профил на база данни в SQL Server

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

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

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

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

EXEC msdb.dbo.sysmail_help_profileaccount_sp;

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

profile_id      | 1
profile_name    | DB Admin Profile
account_id      | 1
account_name    | DB Admin
sequence_number | 1

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

В моя случай има само една асоциация и така се връща само един ред.

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

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

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

Името на акаунта е името на акаунта, създаден с sysmail_add_account_sp съхранена процедура в msdb база данни.

Ето как да предадете името на акаунта:

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @account_name = 'DB Admin';

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

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @account_id = 1;

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

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

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

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

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

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

EXEC msdb.dbo.sysmail_help_profileaccount_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. Случайна стойност за колона DATETIME

  2. Най-доброто хранилище на данни за милиарди редове

  3. Проверете дали низът съдържа знаци с ударение в SQL?

  4. SQL Server Collection Inventory Script -3

  5. Вмъкване на данни от SQL Server в Salesforce с курсор