每1小时发送一次SQL服务器电子邮件

时间:2011-02-06 01:27:45

标签: sql sql-server

我有以下内容,向我从数据库中的表中获取的收件人发送电子邮件。我想做的是每小时发送一次这封电子邮件。我怎么能这样做?

这就是我现在所拥有的?

DECLARE @recipient VARCHAR(4000)

USE data

SELECT @recipient = STUFF((SELECT ';' + email
                        FROM dbo.email
                        FOR XML PATH('')
                       ), 1, 1, '')

EXEC msdb.dbo.sp_send_dbmail 
@profile_name='SQL Server Alerts System',
@recipients = @recipient,
@subject='Test message',
@body='This is the body of the test message.
Congrates Database Mail Received By you Successfully.'

2 个答案:

答案 0 :(得分:3)

创建预定的SQL Server Agent作业

答案 1 :(得分:0)

我知道这篇文章很久以前只是为了补充,你实际上可以做到以下几点:

  1. 将语句放在选择电子邮件收件人的位置,然后将邮件发送到存储过程中。
  2. 创建工作
  3. 在“计划”选项卡中,设置希望作业运行的时间。对我来说,我通常每天早上12点运行。
  4. 接下来在“步骤”标签中点击“新建”。
  5. 输入步骤的名称。类型应该是Transact-SQL。对于Run,它应该是数据库所有者(或SA,dbo ...)
  6. 在命令框区域中包含您刚才为邮件发送创建的存储过程的执行语句。
  7. 您可以自己测试一下。只需耐心等待,直到作业运行的时间,看看您/收件人收件人是否收到任何电子邮件