В 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