如何识别默认邮件配置

Sma*_*003 3 sql-server sql-server-2012 database-mail

在 SQL Server 中,我们可以设置多个电子邮件配置,其中只有一些设置为默认值。

我尝试使用以下查询来获取帐户列表:

select *
from msdb.dbo.sysmail_profile p 
    join msdb.dbo.sysmail_profileaccount pa on p.profile_id = pa.profile_id 
    join msdb.dbo.sysmail_account a on pa.account_id = a.account_id 
    join msdb.dbo.sysmail_server s on a.account_id = s.account_id
Run Code Online (Sandbox Code Playgroud)

有什么方法可以识别默认邮件配置文件吗?

Dan*_*man 5

添加联接msdb.dbo.sysmail_principalprofile并检查该is_default列以识别默认配置文件:

SELECT *
FROM msdb.dbo.sysmail_profile p 
JOIN msdb.dbo.sysmail_principalprofile pp ON pp.profile_id = p.profile_id AND pp.is_default = 1
JOIN msdb.dbo.sysmail_profileaccount pa ON p.profile_id = pa.profile_id 
JOIN msdb.dbo.sysmail_account a ON pa.account_id = a.account_id 
JOIN msdb.dbo.sysmail_server s ON a.account_id = s.account_id;
Run Code Online (Sandbox Code Playgroud)