小编sco*_*tus的帖子

创建作业以在表值大于 x 时使用 sp_send_dbmail 发送警报

问题

SMScounter.Counter用于从服务累积使用。该服务的编程上限为 1000。我想在超出此上限时提醒用户。

表创建

CREATE TABLE [dbo].[SMSCounter](
  [Counter] [int] NOT NULL,
  [CounterDate] [datetime] NOT NULL )
Run Code Online (Sandbox Code Playgroud)

示例数据

380, 2012-09-10 00:00:00.000
177, 2012-10-14 00:00:00.000
999, 2012-11-16 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

作业脚本

下面的脚本是我尝试创建一个计划作业,如果SMScounter.Counter大于 950 ,它将每小时检查一次。

USE DATABASEname
select (Counter) as CHECKVALUE from SMSCounter where smscounter.CounterDate  = DATEADD(dd, DATEDIFF(dd, 0, GETDATE()),0)    
IF CHECKVALUE > 950

BEGIN

EXEC msdb.dbo.sp_send_dbmail
  @recipients=N'scott@mydomain.com',
  @body='1000 Daily SMS cap near', 
  @subject ='1000 Daily SMS cap near',
  @profile_name ='SCOTT',
  @query =
    'USE DATABASEname
     (select * from SMSCounter where CounterDate …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql database-mail alerts

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

alerts ×1

database-mail ×1

sql-server ×1

t-sql ×1