当我尝试创建一个Schedule时,我可以选择的最短时间是1分钟,有没有办法将其减少到几秒钟?
我正在尝试编写一个SQL查询,它告诉我SQL作业是否已根据其计划运行.例如,如果一项工作计划在中午12:00运行,而我们是在下午12:05而且仍然没有运行,我想知道这一点.检测到这种情况的最佳方法是什么?
过去发生的事情是我们定期运行SQL作业,而SQL Server没有运行它们.为了防止这种情况,我们希望针对SQL Server 2008 R2运行查询并检查作业是否运行,然后在未运行时触发警报.
谢谢您的帮助!
我在SSIS项目中定义了如下所示的参数

那么我想在我的sql agent-job上更改那些可选项,我的定义如下.

即使我试图设置修复日期值而不是getdate但它返回一条错误消息告诉我
错误:2014-12-19 16:30:21.56代码:0xC001F016源:包描述:更改变量的值失败,因为它是参数变量.参数变量是只读的.结束错误DTExec:无法将\ Package.Variables [startdate] .Value值设置为18.12.2014.开始时间:16:30:21完成时间:16:30:21经过时间:0.296秒.包执行失败.步骤失败了.
参数是只读的吗?如果是的话,如果我只能在项目中设置它们,那么使用参数的意义是什么.有变数,他们会做同样的工作.如果我做错了什么,请给我一些启示?
我试图在项目级别而不是在sql作业中添加getdate()而不是修复值但是也不允许这样做.为什么?
谢谢.
在我的应用程序(ASP.NET,C#)中,我需要每天在一组预定义的时间间隔内运行存储过程.所以我创建了一个sql作业并安排了相同的工作.但问题是,可以选择使用应用程序创建/修改此时间间隔,这会将修改后的时间间隔存储在表中.所以我需要在用户配置的时间间隔内运行存储过程.
现在我正在执行以下步骤来解决此问题.
这工作正常,但存储过程将每分钟执行一次(希望有人遇到同样的问题).
寻找更好的解决方案来解决这个问题.
我有一个SQL作业步骤
像这样
Declare
@Result varchar(255)
exec myprocedure
@Result = @Result output
Run Code Online (Sandbox Code Playgroud)
我想做什么:
如果@Result ='错误'然后将作业标记为失败,我该如何实现?
我在尝试读取SQL作业时遇到以下错误.
对象'sysjobs',数据库'msdb',架构'dbo'上的SELECT权限被拒绝
我怎样才能解决这个问题?
我有工作:
运行程序
它有以下步骤:
第 1 步:做某事
第 2 步:做其他事
第 3 步:电子邮件
在第 3 步中,我有:
EXEC spSendSuccessEmail -- and here's where I want to pass the job name.
Run Code Online (Sandbox Code Playgroud)
下面是上面存储过程的代码:
ALTER PROCEDURE [dbo].[spSendSuccessEmail] @JobName VARCHAR(30)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @EmailBody VARCHAR(50)
SET @EmailBody = @JobName + ' ran successfully'
BEGIN TRY
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DBTeam',
@recipients = 'user@universe.com',
@copy_recipients = 'user2@universe.com',
@subject = 'Process Complete',
@body = @EmailBody,
@importance = 'Normal',
@sensitivity = 'Normal';
END TRY
BEGIN CATCH …Run Code Online (Sandbox Code Playgroud) 我想在SQL Server 2012中创建一个JOB,以执行两个相关的存储过程.
Exec my_First_Procedure
Exec my_Second_Procedure
Run Code Online (Sandbox Code Playgroud)
如果我像上面那样创建JOB,第二个在第一个完成后开始执行,或者两个查询同时执行?
帮我找到它.谢谢你的建议.
PROCEDURE CRIAR_JOB_LIMPA_proc IS
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'JOB_LIMPA_TAB',
job_type => 'STORED_PROCEDURE',
job_action => 'SIIMA_JOB_LIMPA_TAB_pkg' || '.LIMPAR_TAB_proc',
start_date => To_Date('12-NOV-2018 11:20 AM', 'dd-mon-yyyy hh:mi AM' AT TIME ZONE 'GMT'),
repeat_interval => 'FREQ=minutely;interval=3',
comments => 'Inserir em tabela backup e apagar na original',
enabled => TRUE);
END;
Run Code Online (Sandbox Code Playgroud)
我有这个工作,运行良好,当我手动执行它,但它从来没有开始,每当我设置的开始日期,我已经尝试设置时区和一切,但它似乎并没有帮助.
任何可能的问题/解决方案的想法?
谢谢