Sql server SSIS包执行成功,但不执行';我做不到它的工作

Sql server SSIS包执行成功,但不执行';我做不到它的工作,sql-server,ssis,package,sql-server-agent,Sql Server,Ssis,Package,Sql Server Agent,我使用SQLServer代理填充数据仓库中的表。我在作业中有大约50个步骤,每个步骤都使用代理帐户运行。除了一个步骤外,每个步骤都正常工作: SSIS包,其中包含大约20个执行过程的执行SQL任务。这是我在执行SQL任务中所做的: DECLARE @RC int DECLARE @fordate datetime = null DECLARE @tablename sysname = 'D_ENTITY' DECLARE @dataFolder varchar(1024) = 'C:\Mo

我使用SQLServer代理填充数据仓库中的表。我在作业中有大约50个步骤,每个步骤都使用代理帐户运行。除了一个步骤外,每个步骤都正常工作:

SSIS包,其中包含大约20个执行过程的执行SQL任务。这是我在执行SQL任务中所做的:

DECLARE @RC int

DECLARE @fordate datetime = null

DECLARE @tablename sysname = 'D_ENTITY'

DECLARE @dataFolder varchar(1024) = 'C:\MountPoints1\src_etl\'

DECLARE @logFolder varchar(1024) = 'C:\MountPoints1\src_etl\'

DECLARE @debug bit = 0

EXECUTE @RC = [dbo].[ETL1A_HR] 
 @fordate
,@tablename
,@dataFolder
,@logFolder
,@debug
GO
问题是,如果我从SSIS目录执行包,它就可以正常工作。但如果它是由作业运行的,则会成功,但只从表中删除,而不会填充。似乎程序在中间停止了。

有什么想法吗?
请告知,我花了好几天的时间试图解决这个问题……

我认为这可能与权限有关。执行SSIS包将使用您的安全上下文,但从代理运行它将模拟代理中定义的凭据,然后使用该安全上下文运行作业步骤

注意:我不能使用transact-sql查询,因为它不允许代表我们服务器上的代理帐户运行。您所说的“仅删除而不填充”是什么意思?。我似乎没有发现您的脚本中有任何删除/填充。它从何处读取数据以填充表格?它是数据文件夹中的文件吗?请使用SQL事件探查器观察SP正在执行的操作。您可以在SP内部语句运行时监视它们。这将为您提供一些有关原因的线索。您好-过程中有两个步骤-截断和大容量插入。而且批量插入无法工作,因为代理帐户没有bulkadmin权限(现已解决)。但是这个包没有失败,因为我实现了一个Try/Catch逻辑,它向对话框窗口抛出错误(但是当通过代理执行时它不会引发对话框窗口:))嗨,是的,就是这样。今天早上我意识到代理帐户没有处理批量插入的权限。我只授予定期数据库写入和从文件夹读取文件的权限。没有意识到存在单独的批量管理权限。