Sql代理作业不会执行

时间:2016-04-21 15:39:46

标签: sql sql-server jobs agent

我已创建一个sql代理作业,如下所示

USE [Database]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[StoredProc_RPT_Test]
@batch_id = Null,
@StartDate = Null,
@EndDate = Null
SELECT 'Return Value' = @return_value
GO

存储过程StoredProc_RPT_Test在所有参数为空时调用另一个存储过程。将数据插入永久表中。

我可以手动运行StoredProc_RPT_Test,它运行正常。数据存在于永久表中。但是,当我运行sql代理程序作业时,没有结果永久表?

真的很困惑。这是因为iam调用了两个存储过程吗?

4 个答案:

答案 0 :(得分:2)

您是否在作业日志中检查了任何失败消息?另外,请确保SQL Server服务帐户具有该过程的执行权限。

答案 1 :(得分:0)

问题是SQL Server Agent的默认textize为1024.在执行存储过程之前的SQL Server Agent步骤中,我只是添加了textize。

e.g。

SET TEXTSIZE 15000
EXEC dbo.yourspname @param1, @param2...

希望这会对某人有所帮助。

答案 2 :(得分:0)

很可能SQL Server代理没有足够的权限来运行您的SP。将作业所有者(在对话框中)设置为具有权限的帐户 手动运行作业时,请在上下文中执行此操作。

答案 3 :(得分:0)

尝试不在程序内部打印时选择返回值。