14

我想在每晚自动执行一个存储过程。我该怎么做。请指导我实现这一目标的步骤。

提前致谢。

4

3 回答 3

18

您可以使用 SQL Server 代理创建作业。

在此处输入图像描述

右键单击 Jobs 文件夹以打开菜单,选择 New Job:

在此处输入图像描述

当您创建新工作时,将打开一个窗口,您将提供您想要创建的工作的详细信息。包含:

  • 名称 - 在常规选项卡中
  • 步骤 - 可以运行 SQL 脚本、SSIS 包、存储过程
  • 计划 - 以您选择的频率重复、每周、每天等。

这是创建 SQL 作业的分步指南

于 2012-08-28T11:25:29.123 回答
4

尝试这个:

CREATE PROCEDURE MyTask
 AS
BEGIN  
    SET NOCOUNT ON;
    --  For executing the stored procedure at 11:00 P.M
    declare @delayTime nvarchar(50)
    set @delayTime = '23:00'

    while 1 = 1
    begin
        waitfor time @delayTime 
        begin
            --Name for the stored proceduce you want to call on regular bases
            execute [DatabaseName].[dbo].[StoredProcedureName];
        end
    end
END

然后,

-- Sets stored procedure for automatic execution.
sp_procoption    @ProcName = 'MyTask',
                @OptionName = 'startup',
                @OptionValue = 'on'

参考:

sp_procoption (Transact-SQL)

设置或清除自动执行的存储过程。每次启动 SQL Server 实例时,都会运行一个设置为自动执行的存储过程。

等待

阻止批处理、存储过程或事务的执行,直到达到指定的时间或时间间隔,或者指定的语句修改或返回至少一行。

于 2012-08-28T11:48:52.200 回答
0

快速解决方案是,

创建存储过程 编写 SQL 作业(以下是步骤)

http://www.dailycoding.com/Posts/step_by_step_guide_to_add_a_sql_job_in_sql_server_2005.aspx

在步骤 5 中配置您创建的存储过程。

于 2012-08-28T11:24:34.943 回答