数据库邮件

在SQL Server中配置好Database Mail之后,可以使用存储过程 msdb.dbo.sp_send_dbmail 给特定的User发送mail,或在第一时间通知DBA数据库执行的异常情况,是一个非常不错的功能。

一,配置数据库邮件

1,在SSMS的Management中,点击Database Mail打开Database Mail Configuration Wizard

2,创建Profile

在发送database mail的时候,需要指定数据库邮件的Profile,Profile一个配置文档,包含SMTP Server地址,SMTP Server身份验证等的配置文档。

点击Add,创建SMTP Account。

3,增加SMTP Account,需要配置Database mail的发送地址,SMTP Server URL和 SMTP Server Authentication

4,设置默认的Profile,

如果设置了默认的Profile,执行msdb.dbo.sp_send_dbmail 时不需要@profile_name显式指定Profile name。

5,发送测试mail

Database Mail 自带有"Send Test E-Mail"和“View Database Mail Log”的功能,用来查看Database mail的发送情况。

二,使用TSQL语句发送mail

1,使用 msdb.dbo.sp_send_dbmail 发送mail,由于设置了default profile,所以不需要显示使用@Profile_Name来指定Profile。

EXEC msdb.dbo.sp_send_dbmail
    @recipients=‘[email protected]‘
    ,@subject=‘Test email subject‘
    ,@body=‘test email body‘
    --,@profile_name=‘default‘

使用msdb.dbo.sp_send_dbmail也能发送HTML格式的mail,需要在参数@body_format指定格式。
@body_format= ] body_format

默认值是Text,表示发送的是邮件正文是text格式;HTML格式,可以使用HTML 标签

2,发送text格式的邮件

EXEC msdb.dbo.sp_send_dbmail
    @recipients=‘[email protected]‘
    ,@subject=‘Test email subject‘
    ,@body=‘test email body‘
    --,@profile_name=‘default_ProfileName‘
    --,@body_format=‘text‘

@Body_Format 参数的默认值是Text

3,发送Html格式的mail

declare @htmlbody varchar(max)
set @htmlbody=‘<table>
<tr>
    <td>first row</td>
</tr>
<tr>
    <td>second row</td>
</tr>
</table>‘

EXEC msdb.dbo.sp_send_dbmail
    @recipients=‘[email protected]‘
    ,@subject=‘Test email subject‘
    ,@[email protected]
    --,@profile_name=‘default_ProfileName‘
    ,@body_format=‘Html‘

4,将查询结果作为mail的body

存储过程 msdb.dbo.sp_send_dbmail 可以执行一个select 查询子句,并将查询结果作为一个附件发送出去。

EXEC msdb.dbo.sp_send_dbmail
    @recipients=‘[email protected]‘
    ,@subject=‘Test email subject‘
    --,@profile_name=‘default_ProfileName‘
    --,@body_format=‘text‘
    ,@query=‘select * from db_study.dbo.test‘
    ,@attach_query_result_as_file = 1
时间: 2024-11-23 18:36:38

数据库邮件的相关文章

第四篇 SQL Server代理配置数据库邮件

本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Server代理同样提供创建警报,能够以通知的形式将消息发送给设定的操作员.这些通知可以通过数据库邮件发送,数据库邮件是内置在SQL Server和SQL Server代理能够发送和接收电子邮件.在这一篇,你将学习如何配置数据库邮件发送和接收操作,以及一些基本的数据库邮件故障排除步骤.数据库邮件的简要概述在S

SQL Server数据库邮件发送异常案例

最近遇到两起关于SQL Server数据库邮件发送异常的案例,这些问题也有点意思,顺便记录一下.方便以后遇到类似问题的人为这些问题抓狂!多提供一点思路. 案例1:我们一台数据库服务器突然发送邮件都不行了,出现问题时,检查邮件发送记录,你会发现发送状态都是failed. SELECT * FROM msdb.dbo.sysmail_faileditems   SELECT * FROM msdb.dbo.sysmail_mailitems 检查Database Mail Log,你会发现有下面一些

利用数据库邮件服务实现监控和预警

背景 现在越来越多的企业.公司要求对于数据库实现7*24小时的数据库监控,一般情况下采用的就是第三方的平台来实现邮件和手机短信的监测提醒.前几日公司新上了一台服务器,急于部署程序还没来得及搭建其他相关平台,为了更好的监控数据库,暂时用SQL Server自带的邮件服务来实现对数据库的监控和预警.下面简要介绍下配置的过程便于以后使用. 配置邮件 整个部分的核心就是配置邮件服务,这部分需要一个邮件账户以及相应的邮件服务器.下面就以QQ的邮件为例进行说明. 1.设置邮件服务器 开启SMTP服务,点击开

使用数据库邮件发送会议邀请

http://social.microsoft.com/Forums/it-IT/3ba417d6-6548-48ed-9e9f-1a6549edc569 大家好,在此提供一个示例展示如何使用数据库邮件发送会议邀请.创建CLR 存储过程,用来生成.ics文件:1. 在 Visual Studio中,创建一个Visual C# SQL CLR Database Project,请看: 2. 添加一个数据库引用,请看: 3. 创建一个CLR存储过程,命名为CLROutLook,请看: 4. 使用Sy

数据库邮件服务器中sp_send_dbmail的参数使用

sp_send_dbmail [ [ @profile_name = ] 'profile_name' ]     [ , [ @recipients = ] 'recipients [ ; n ]' ]     [ , [ @copy_recipients = ] 'copy_recipient [ ; n ]' ]     [ , [ @blind_copy_recipients = ] 'blind_copy_recipient [ ; n ]' ]     [ , [ @subject 

sqlserver如何启动数据库邮件

1 可以在 msdb 数据库中停止数据库邮件.若要检查数据库邮件的状态,请执行下面的语句: 2 3 4 5 6 7 8 复制 9 10 11 EXECUTE dbo.sysmail_help_status_sp; 12 13 14 若要在邮件主机数据库中启动数据库邮件,请在 msdb 数据库中运行以下命令: 15 16 17 18 19 20 21 复制 22 23 24 EXECUTE dbo.sysmail_start_sp;

SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件

原文:SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件 从2005开始,就引入了"数据库邮件"功能.并且取代SQLMail.原有SQLMail可以继续使用. SQLMail要求有应用程序编程接口(Extended Messaging Application Programming Interface,MAPI),安装新的Office时可能导致SQLMail失败. 数据库邮件更加安全.可靠,并且不需要MAPI.具有群集感知能力.可以自动重传发送失败的

在 SQL Server 2005 中配置数据库邮件

一.            SQL Server发邮件原理和组件介绍: 数据库邮件有4个组件:配置文件.邮件处理组件.可执行文件以及"日志记录和审核组件". l  配置组件包括: 1)数据库邮件帐户包含诸如SMTP服务器名.身份验证类型和电子邮件地址等. 2)数据库邮件配置文件是数据库邮件帐户的集合. l  邮件处理组件 要的数据库邮件组件就是刚才所说的数据库邮件主机数据库,默认是msdb. l  数据库邮件可执行文件 数据库邮件使用一个外部可执行文件来处理邮件,降低了对SQL Ser

SqlServer 数据库邮件

SQLserver 自带的邮件发送功能,可以很方便将数据库中的信息发送给相关人员.如 可以结合监控事件将警告信息发给管理人员,可以结合作业定时发送报表给相关人员等. 数据库邮件配置很简单,以下以图文配置: 1. 管理--数据库邮件(右键)--配置数据库邮件 2. 打开数据库邮件配置向导,选择第一个"通过执行以下人物来安装数据库邮件" 3. 首先"新建配置文件",填写"配置文件名",再点击 添加 SMTP账户 4. 创建邮件账户 帐户名:数据库中看