使用 数据库邮件配置向导 或 Transact-SQL 创建数据库邮件公共配置文件和专用配置文件。
在您开始之前
先决条件
为配置文件创建一个或多个数据库邮件帐户。 有关创建数据库邮件帐户的详细信息,请参阅 “创建数据库邮件帐户”。
安全
公共配置文件允许任何有权访问 msdb 数据库的用户使用该配置文件发送电子邮件。 专用配置文件可由用户或角色使用。 授予角色对配置文件的访问权限会创建更易于维护的体系结构。 若要发送邮件,您必须是 msdb 数据库中 DatabaseMailUserRole 的成员,并且至少有权访问一个数据库邮件配置文件。
权限
创建用户配置资料和执行存储过程的用户应当是 sysadmin 固定服务器角色的成员。
使用数据库邮件配置向导
创建数据库邮件配置文件
在对象资源管理器中,连接到要在其上配置数据库邮件的 SQL Server 实例,然后展开服务器树。
展开 “管理” 节点
双击“数据库邮件”打开“数据库邮件配置向导”。
在 “选择配置任务 ”页上,选择“ 管理数据库邮件帐户和配置文件 ”选项,然后单击“ 下一步”。
在“ 管理配置文件和帐户 ”页上,选择“ 创建新配置文件 ”选项,然后单击“ 下一步”。
在“ 新建配置文件 ”页上,指定要包含在配置文件中的配置文件名称、说明和添加帐户,然后单击“ 下一步”。
在“完成向导”页上,查看要执行的操作,然后单击“完成”以完成创建新配置文件。
若要配置数据库邮件专用配置文件,步骤如下:
打开数据库邮件配置向导。
在“ 选择配置任务 ”页上,选择“ 管理数据库邮件帐户和配置文件 ”选项,然后单击“ 下一步”。
在“ 管理配置文件和帐户 ”页上,选择“ 管理配置文件安全 ”选项,然后单击“ 下一步”。
在“ 专用配置文件 ”选项卡中,选中要配置的配置文件的复选框,然后单击“ 下一步”。
在“完成向导”页上,查看需要执行的操作,然后单击“完成”以完成配置文件设置。
若要配置数据库邮件公共配置文件,请执行以下步骤:
打开数据库邮件配置向导。
在“ 选择配置任务 ”页上,选择“ 管理数据库邮件帐户和配置文件 ”选项,然后单击“ 下一步”。
在“ 管理配置文件和帐户 ”页上,选择“ 管理配置文件安全 ”选项,然后单击“ 下一步”。
在 “公共配置文件 ”选项卡中,选中要配置的配置文件的复选框,然后单击“ 下一步”。
在完成向导页上,查看要执行的操作,然后单击完成以完成配置文件的设置。
使用 Transact-SQL
创建数据库邮件私有配置文件
连接到 SQL Server 实例。
若要创建新配置文件,请运行系统存储过程 sysmail_add_profile_sp(Transact-SQL), 如下所示:
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = “Profile Name”
@description = “Description”
其中 ,@profile_name 是配置文件的名称, @description 是配置文件的说明。 此参数是可选的。
对于每个帐户,请运行存储过程 sysmail_add_profileaccount_sp(Transact-SQL), 如下所示:
EXECUTEmsdb.dbo.sysmail_add_profileaccount_sp
@profile_name = “配置文件的名称”
@account_name = “帐户名称”
@sequence_number = 配置文件中帐户的序列号。 '
其中 @profile_name 是配置文件的名称, @account_name 是要添加到配置文件中的帐户的名称, @sequence_number 确定配置文件中使用帐户的顺序。
对于将使用此配置文件发送邮件的每个数据库角色或用户,请授予对配置文件的访问权限。 为此,请运行存储过程 sysmail_add_principalprofile_sp(Transact-SQL), 如下所示:
EXECUTEmsdb.sysmail_add_principalprofile_sp
@profile_name = “配置文件的名称”
@ principal_name = “数据库用户或角色的名称”
@is_default = "默认配置文件状态 "
其中 @profile_name 是配置文件的名称, @principal_name 是数据库用户或角色的名称, @is_default 确定此配置文件是数据库用户或角色的默认值。
以下示例创建数据库邮件帐户、创建数据库邮件专用配置文件,然后将该帐户添加到配置文件,并向 msdb 数据库中的 DBMailUsers 数据库角色授予对配置文件的访问权限。
-- Create a Database Mail account
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'AdventureWorks Administrator',
@description = 'Mail account for administrative e-mail.',
@email_address = 'dba@Adventure-Works.com',
@replyto_address = 'danw@Adventure-Works.com',
@display_name = 'AdventureWorks Automated Mailer',
@mailserver_name = 'smtp.Adventure-Works.com' ;
-- Create a Database Mail profile
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'AdventureWorks Administrator Profile',
@description = 'Profile used for administrative mail.' ;
-- Add the account to the profile
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'AdventureWorks Administrator Profile',
@account_name = 'AdventureWorks Administrator',
@sequence_number =1 ;
-- Grant access to the profile to the DBMailUsers role
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'AdventureWorks Administrator Profile',
@principal_name = 'ApplicationUser',
@is_default = 1 ;
创建数据库邮件公共配置文件
连接到 SQL Server 实例。
若要创建新配置文件,请运行系统存储过程 sysmail_add_profile_sp(Transact-SQL), 如下所示:
EXECUTEmsdb.dbo.sysmail_add_profile_sp
@profile_name = “Profile Name”
@description = “描述”
其中 ,@profile_name 是配置文件的名称, @description 是配置文件的说明。 此参数是可选的。
对于每个帐户,请运行存储过程 sysmail_add_profileaccount_sp(Transact-SQL), 如下所示:
EXECUTEmsdb.dbo.sysmail_add_profileaccount_sp
@profile_name = "个人资料名称"
@account_name = “帐户名称”
@sequence_number = 配置文件中帐户的序列号。 '
其中 @profile_name 是配置文件的名称, @account_name 是要添加到配置文件中的帐户的名称, @sequence_number 确定配置文件中使用帐户的顺序。
若要授予公共访问权限,请运行存储过程 sysmail_add_principalprofile_sp(Transact-SQL), 如下所示:
EXECUTEmsdb.sysmail_add_principalprofile_sp
@profile_name = “配置文件的名称”
@ principal_name = “public or 0”
@is_default = “默认配置文件状态”
其中 @profile_name 是配置文件的名称, @principal_name 指示这是公共配置文件, @is_default 确定此配置文件是数据库用户或角色的默认值。
以下示例创建数据库邮件帐户、创建数据库邮件专用配置文件,然后将该帐户添加到配置文件,并授予对配置文件的公共访问权限。
-- Create a Database Mail account
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'AdventureWorks Public Account',
@description = 'Mail account for use by all database users.',
@email_address = 'db_users@Adventure-Works.com',
@replyto_address = 'danw@Adventure-Works.com',
@display_name = 'AdventureWorks Automated Mailer',
@mailserver_name = 'smtp.Adventure-Works.com' ;
-- Create a Database Mail profile
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'AdventureWorks Public Profile',
@description = 'Profile used for administrative mail.' ;
-- Add the account to the profile
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'AdventureWorks Public Profile',
@account_name = 'AdventureWorks Public Account',
@sequence_number =1 ;
-- Grant access to the profile to all users in the msdb database
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'AdventureWorks Public Profile',
@principal_name = 'public',
@is_default = 1 ;