赞
踩
如何配置参考http://blog.csdn.net/ghj1976/article/details/3936286
2、使用SQL Server Agent 设置作业定时任务(貌似Express也没有这个功能)
如何设置作业参考http://www.soaspx.com/dotnet/sql/mssql/sql2005/sqlservr2005_20120308_8721.html
二、功能及数据库表说明
功能说明:在每天的固定时间检查数据库表T_Inventory,如果发现LowestQuantity的值大于Quantity 就将该表中满足该条件的记录以邮件的形式给用户
T_AlarmInventory 记录满足条件要发送的数据 (两张表一样)
T_Inventory T_AlarmInventory
建一个作业,作业中包括两个步骤
1、一个是将T_Inventory满足条件的数据复制到T_AlarmInventory中,用一个存储过程实现,在该步骤调用(也可以直接在创建的步骤里面写SQL语句)
- ALTER PROCEDURE [dbo].[selectAlarmInventory]
- AS
- Declare @ItemID varchar(20)
- Declare @LowestQuantity decimal(9,0)
- Declare @Quantity decimal(9,0)
-
- Declare Inventory_cursor cursor for Select ItemID,LowestQuantity,Quantity From T_inventory where LowestQuantity>Quantity
- Open Inventory_cursor
- Fetch NEXT From Inventory_cursor into @ItemID,@LowestQuantity,@Quantity
- While @@FETCH_STATUS=0
- BEGIN
- Insert into T_AlarmInventory values(@ItemID,@LowestQuantity,@Quantity)
- Fetch NEXT From Inventory_cursor into @ItemID,@LowestQuantity,@Quantity
- END
- Close Inventory_cursor
- Deallocate Inventory_cursor
2、发送邮件的定时任务 发送邮件后将T_AlarmInventory中的记录删除
- Declare @count int
- Declare @result int
- Select @count=COUNT(*) from T_AlarmInventory
- IF @count>0
- BEGIN
- Exec @result=msdb.dbo.sp_send_dbmail
- @profile_name='XXXXXX',
- @recipients='XXXXXXX@sina.com',
- @subject='警报单',
- @query='select ItemID As ''物资编号'',Lowestquantity As ''最低库存'',Quantity As ''现有库存'' from T_AlarmInventory',
- @execute_query_database ='myDB',
- @attach_query_result_as_file = 1,
- @query_attachment_filename='警报信息.txt',
- @exclude_query_output =1
- Delete From T_AlarmInventory
- END
该处发送邮件使用了系统存储过程msdb.dbo.sp_send_dbmail,将查询到的数据已邮件的形式发送出去
详细说明可以参考SQL Server 2008的本地联机帮助
ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.zh-CHS/s10de_6tsql/html/f1d7a795-a3fd-4043-ac4b-c781e76dab47.htm
上述两个步骤建好就可以启用SQL Server Agent了
三、总结
这两天就整了个这么个东西,网上有不少的资料,得到了不少的帮助。当然虽然有很多资料很多帮助,但还是会碰到很多的问题,有时根据网上的资料一步步做但还是出现错误或者没有反应(比如在配置数据库邮件时,按照说明在新浪申请了账号作为发件的服务器,但就是发送不了,后来改用163的邮箱就可以了),所以要有自己的思考,找出问题所在。尽信书,则不如无书~~~再次感谢网友们的无私奉献
谨以此记录这两天的学习,欢迎大家交流~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。