No SQL Server, você pode usar o
sysmail_help_account_sp procedimento armazenado no msdb database para recuperar uma lista de todas as contas do Database Mail. Você também pode retornar informações da conta com base no nome ou ID da conta.
Exemplo
Aqui está um exemplo para demonstrar.
EXEC msdb.dbo.sysmail_help_account_sp; Resultado (usando saída vertical):
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
Listei os resultados usando saída vertical para que você não precise rolar para os lados para ver todas as colunas.
No meu caso, há apenas uma conta do Database Mail.
Observe que o
sysmail_help_account_sp procedimento armazenado está no msdb banco de dados, e é de propriedade do dbo esquema. Portanto, você precisará usar a nomenclatura de três partes (como no meu exemplo) se msdb não é o banco de dados atual. Devolver apenas uma conta
Embora eu tenha apenas uma conta de e-mail de banco de dados em meu sistema, aqui está um exemplo de como retornar uma única conta.
Conforme mencionado, você pode usar o nome da conta ou seu ID. Aqui está um exemplo de como devolvê-lo pelo ID da conta:
EXEC msdb.dbo.sysmail_help_account_sp
@account_id = 1; Você precisa fornecer o ID da conta como int .
E aqui está um exemplo de como devolvê-lo pelo nome:
EXEC msdb.dbo.sysmail_help_account_sp
@account_name = 'DB Admin'; O nome da conta é sysname .
Conta inválida?
Fornecer um ID de conta que não existe retorna o seguinte erro:
Msg 14606, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 33 account id is not valid
Fornecer um nome de conta que não existe retorna o seguinte erro:
Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 42 account name is not valid