2010-02-27 52 views
30

我有一个表格,我想每小时执行一些操作。为此,我创建了一个存储过程,但不知道如何每小时调用一次。我知道有一些预定的工作,但如何使用它们。如何每小时在sql server中运行存储过程?

是否还有某种服务还在持续运行,每秒我可以在哪里放置我的代码段来执行?

回答

57

在SSMS导航到SQL Server代理 - >工作 右键单击工作文件夹并选择新的工作

弹出,给作业的名称 点击步骤,然后在新的对话框中,你会看到类似下面的对话框中,选择正确的数据库,然后键入您的PROC名

alt text

的时间表,点击后,挑选新的,你会看到类似下面的图片,填写您需要的所有东西,然后点击OK,点击任务确定,您应该设置 alt text

+0

imgur嵌入现在是松鼠,但如果它对其他人有用,我可以直接在http://i.imgur.com/Woxpv.png和http://i.imgur.com/tSUau.png – ruffin 2014-08-06 18:06:12

+2

上访问图像,如果你需要根据sp结果发送通知电子邮件给某人(比方说WebMaster),在作业步骤: 'DECLARE @result bit' - 假设YourProc输出是位。 'Exec YourProc @spResult = @result OUTPUT'然后 'if(@result = 0) Begin DECLARE @subject nvarchar(max)='Notification!' DECLARE @body nvarchar(max)='出错了......' DECLARE @to nvarchar(max)='[email protected]' EXEC msdb.dbo.sp_send_dbmail @recipients = @to,@subject = @主题,@body = @body; End' – 2015-08-26 01:24:16

+0

我试过这种情况,但我有点困惑,为什么它没有在第二天执行。相同的设置,尤其是日常频率的设置。 – Juran 2016-03-18 01:18:27

1

设置SQL Server代理作业每隔1小时

3

1)使用SQL Server代理(打开MS Management Studio中),以执行存储过程 2)新招聘 3)添加步骤 4)选择的Transact SQL 5)EXEC MyStroredProc 6)选择数据库 7)添加日程 8)发生每隔一小时

添加通知,知道过程做得很好(或坏)。

在SQL Server代理的属性,检查所有的自动重启选项开关ON

相关问题