在SQL Server 2005 中创建Database Mail的步骤 创建Database Mail很简单。我们可以使用Database Mail Wizard创建和管理模板和帐户,创建Database Mail安全和系统参数。在SQL Server Management Studio的“Management”节点中的“Database Mail”启动向导。我并不喜欢的是在这里没有方法可以检查Management Studio中已有的模板、帐户和设置;我们需要运行向导并选择“Modify”去查看这些已有的设置。
如果想要从一台服务器复制设置到另一台服务器就很麻烦了。这里的另一个缺点是没有……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在SQL Server 2005 中创建Database Mail的步骤
创建Database Mail很简单。我们可以使用Database Mail Wizard创建和管理模板和帐户,创建Database Mail安全和系统参数。在SQL Server Management Studio的“Management”节点中的“Database Mail”启动向导。我并不喜欢的是在这里没有方法可以检查Management Studio中已有的模板、帐户和设置;我们需要运行向导并选择“Modify”去查看这些已有的设置。如果想要从一台服务器复制设置到另一台服务器就很麻烦了。这里的另一个缺点是没有方法可以脚本化模板和帐户。所以,如果我们需要在多个服务器上重复相同的创建过程,我们应该运行SQL Profiler来得到用于创建Database Mail对象的命令。
所有Database Mail对象都存储在msdb数据库。在一个用户发送邮件之前,用户的帐户必须先添加到msdb数据库的一个指定的数据库角色DatabaseMailUserRole中。如果我们使用一个非系统管理员帐户发送邮件失败时,那么就需要检查下该帐户是不是DatabaseMailUserRole角色的一个成员,如果不是就添加到该角色。
在配置好Database Mail后,我们可以开始在T-SQL中使用sp_send_dmmail存储过程来发送邮件了。下面的存储过程接受20个以上的参数,其中在多数是可选的。下面是发送一个纯文件邮件的调用示例:
DECLARE @subject VARCHAR(100)
SET @subject = 'Test email. Sent time: '
+ CAST(GETDATE() AS VARCHAR(20))
EXEC msdb.dbo.sp_send_dbmail @profile_name = 'DBMailProfile1',
@recipients = 'roman@hotmail.com', @body = 'It worked!!!',
@subject = @subject
因为这里有许多难记的参数(大多数你都不会用到),我建议创建一个或多个封闭存储过程来简化电子邮件接口。Database Mail将所有发送的邮件存储在msdb数据库。我们可以运行下面的查询来查看它们:
USE msdb
SELECT * FROM sysmail_allitems
ORDER BY mailitem_id DESC
可能系统视图中最重要的字段是sent_status字段。它包含了以下4个值之一:未发送、重试中、已发送或失败。如果邮件没有发出,检查该视图以确保消息在队列中,并且sent_status的消息不是“已发送”。如果我们注意到消息是“失败”或“重试中”,右击Database Mail节点并选择“View database Mail Log”来查看更多关于错误的细节信息。
本文阐述了Database Mail的基础,并说明了创建电子邮件的方法。相信你应该能够开始配置服务器使用这些实践特性从T-SQL和T-SQL Agent上发送电子邮件了。
作者
翻译
TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
绘制数据关系图的利器:SQL Server 图像数据库工具
SQL Server 2017新增了图形数据库功能,你可以使用图结构来表示不同数据元素之间的关系。
-
如何在Azure部署时选择合适的SQL Server?
想要在Azure上运行SQL Server,企业一般会面临两种选择:在Azure虚拟机上安装SQL Server或使用Azure SQL Database。
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。