В 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 | example@sqldat.com display_name | DB Automated Mailer replyto_address | example@sqldat.com 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