Sql 如何检查存储过程是否计划在特定时间运行

Sql 如何检查存储过程是否计划在特定时间运行,sql,sql-server,sql-server-2008,stored-procedures,scheduled-tasks,Sql,Sql Server,Sql Server 2008,Stored Procedures,Scheduled Tasks,在我的SQL Server 2008中,存储过程p_ABC计划每天凌晨2点运行 但是,我如何验证此过程p_ABC是否计划在每天凌晨2点运行,并且始终在凌晨2点运行。?是否有任何查询来获取计划在特定时间运行的过程的列表?我不知道有任何选项可以简单地查询SQL以确定存储过程何时运行。我有一系列的审计表来存储这些信息。它花了一点时间来设置,但会给你一切你需要的 在较高级别上,您需要在每个存储过程中执行以下操作: 调用将为特定作业分配新(递增)id的存储过程。此过程还将在表中存储正在运行(作为参数传递)

在我的SQL Server 2008中,存储过程
p_ABC
计划每天凌晨2点运行


但是,我如何验证此过程
p_ABC
是否计划在每天凌晨2点运行,并且始终在凌晨2点运行。?是否有任何查询来获取计划在特定时间运行的过程的列表?

我不知道有任何选项可以简单地查询SQL以确定存储过程何时运行。我有一系列的审计表来存储这些信息。它花了一点时间来设置,但会给你一切你需要的

在较高级别上,您需要在每个存储过程中执行以下操作:

  • 调用将为特定作业分配新(递增)id的存储过程。此过程还将在表中存储正在运行(作为参数传递)的过程的名称及其启动时间

  • 在过程结束时,使用原始ID调用另一个存储过程,并使用结束时间更新审核记录


  • 这很有效,因为您知道运行的内容、运行的时间以及运行所需的时间。

    不确定这正是您需要的,但您可以查看下面的这段代码

    你也可以在那里找到它:

    使用这种方法,您可以列出所有存储过程(按名称),然后查找包含这些存储过程的所有作业(或更具体的步骤)

    请参考此问题/答案,列出存储程序:


    谢谢

    这是一个太老的问题,但我仍在发布这个问题。你可以试试-

    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
    
    那么


    @marc_感谢你这么说你在谈论工作吗?@GiorgiNakeuri不知道我该如何实现这一点。这些过程是否在sql server作业下运行?或者可能有一些windows服务或其他东西?主持人:请求将问题迁移到
    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'