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

Вземете списък с пощенски акаунти в базата данни в SQL Server (T-SQL)

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

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

Пример

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

EXEC msdb.dbo.sysmail_help_account_sp;

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

account_id              | 1
name                    | DB Admin
description             | Mail account for admin emails.
email_address           | [email protected]
display_name            | DB Automated Mailer
replyto_address         | [email protected]
servertype              | SMTP
servername              | smtp.example.com
port                    | 25
username                | NULL
use_default_credentials | 0
enable_ssl              | 0

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

В моя случай има само един акаунт в Database Mail.

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

Върнете само един акаунт

Въпреки че имам само един имейл акаунт в базата данни в моята система, ето пример за това как да върна един акаунт.

Както споменахме, можете да използвате името на акаунта или неговия идентификатор. Ето пример за връщането му по идентификатор на акаунта:

EXEC msdb.dbo.sysmail_help_account_sp
    @account_id = 1;

Трябва да предоставите идентификатора на акаунта като int .

И ето пример за връщането му по име:

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

Името на акаунта е sysname .

Профилът не е валиден?

Предоставянето на идентификатор на акаунт, който не съществува, връща следната грешка:

Msg 14606, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 33
account id is not valid

Предоставянето на име на акаунт, което не съществува, връща следната грешка:

Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 42
account name is not valid

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

  2. Връщане на множество таблици от съхранена процедура

  3. Как да покажете съпоставянето на колона в SQL Server (T-SQL)

  4. Създайте пощенски акаунт в база данни в SQL Server (T-SQL)

  5. Как да получите OBJECT_NAME() от различна база данни в SQL Server