计划数据库邮件

计划数据库邮件包含计划 msdb 数据库中的数据库邮件表的管理、确定要使用的简单邮件传输 (SMTP) 服务器、配置 SMTP 服务器上的邮箱。

计划 msdb 表

为电子邮件和日志项计划一个保持策略。数据库邮件将发送的邮件及其附件保留在 msdb 数据库中。如果数据库邮件的邮件和相关附件的数量很大,应做好计划,以防 msdb 数据库增长过大。为了重新获得空间并符合您单位的文档保持策略,可以删除某些邮件。例如,可以创建 SQL Server 代理作业来删除保留时间超过 30 天的邮件、附件和日志项。有关详细信息,请参阅:

sysmail_delete_mailitems_sp (Transact-SQL)

sysmail_delete_log_sp (Transact-SQL)

使用 sysmail_configure_spMaxFileSize 参数可限制数据库邮件消息中的附件的大小。

使用 sysmail_configure_spProhibitedExtensions 参数可限制数据库邮件消息中所发送的附件的类型。

注意注意

默认情况下,在 msdb 数据库中启用 SQL Server Service Broker,但是如果您附加了一个 msdb 数据库,则可能会停用它。在任何数据库中启用 Service Broker 都需要数据库锁。如果在 msdb 中停用了 Service Broker,则若要启用数据库邮件,应首先停止 SQL Server 代理,以便 Service Broker 可以获取所需的锁。

确定 SMTP 服务器

数据库邮件外部程序需要通过网络访问数据库邮件帐户中指定的 SMTP 服务器。因此,SQL Server 的服务帐户必须具有访问网络的权限,而且 SMTP 服务器必须允许运行 SQL Server 的计算机与其连接。

安全说明安全说明

如果 SQL Server 作为本地系统或本地服务运行,则 SQL Server 不具有对外进行网络连接的权限。在此情况下,数据库邮件就无法连接到位于其他计算机上的电子邮件服务器。

请考虑希望数据库邮件每天发送的消息数和将加到 SMTP 服务器上的负荷。例如,如果计划将数据库邮件仅用于代理作业的通知,则负荷可能就相对较轻。反之,如果您在开发环境中对应用程序进行压力测试,则该测试可能生成大量电子邮件,而您可能希望将这些电子邮件转到专门为测试创建的服务器。

确定电子邮件通信的安全要求。只要 SMTP 服务器需要安全套接字层 (SSL),数据库邮件就支持 SSL。如果 SMTP 服务器接受匿名连接或者能够为基本身份验证提供凭据,数据库邮件就能够匿名连接到 SMTP 服务器。如果使用 Windows 身份验证进行连接,数据库邮件将使用 SQL Server 数据库引擎的 Windows 服务凭据在 SMTP 服务器上进行身份验证。

配置 SMTP 服务器上的邮件帐户

数据库邮件帐户不需要 SMTP 服务器上的任何特殊特权。但是,这些帐户一般应该仅用于数据库邮件。

有关如何配置 SMTP 服务器上的帐户的信息,请参阅电子邮件服务器的文档。

在配置 SMTP 后设置数据库邮件

  1. 在 SQL Server Management Studio 的对象资源管理器中,展开**“管理”**文件夹。

  2. 右键单击**“数据库邮件”,然后选择“配置数据库邮件”**。该向导将引导您完成设置过程。