[英]SQL Server Agent Job doesn't execute SSIS package Permission Error
I am trying to run a SSIS Package (Uploading a file) to my SQL Server Database.我正在尝试将 SSIS Package(上传文件)运行到我的 SQL 服务器数据库。 After creating the SSIS Package in SSIS it saves to a folder on SSMS.在 SSIS 中创建 SSIS Package 后,它会保存到 SSMS 上的文件夹中。 I have set it up like the below:我已将其设置如下:
I basically have all admin rights on this instance.我基本上拥有这个实例的所有管理员权限。 When I try to run the package I am hit with a fail saying:当我尝试运行 package 时,我遇到了一个失败的说法:
04/14/2021 10:05:27,Testing SSIS,Error,1,XXXX\INSTANCE04,Testing SSIS,Upload,,Non-SysAdmins have been denied permission to run ANALYSISCOMMAND job steps without a proxy account. 2021 年 4 月 14 日 10:05:27,测试 SSIS,错误,1,XXXX\INSTANCE04,测试 SSIS,上传,,非系统管理员已被拒绝运行 ANALYSISCOMMAND 作业步骤没有代理帐户的权限。 The step failed步骤失败
and this error sometimes too:有时也会出现这个错误:
04/14/2021 10:05:27,Testing SSIS,Error,1,XXXX\INSTANCE04,Testing SSIS,Upload,,Non-SysAdmins have been denied permission to run DTS Excecution jobs steps without a proxy account. 2021 年 4 月 14 日 10:05:27,测试 SSIS,错误,1,XXXX\INSTANCE04,测试 SSIS,上传,,非系统管理员已被拒绝运行 DTS 执行作业步骤没有代理帐户的权限。 The step failed步骤失败
I plan to run multiple packages in this job later on If someone could help I would be very grateful!我计划稍后在这项工作中运行多个包如果有人可以提供帮助,我将非常感激!
It looks like you are processing an analysis services model or cube.看起来您正在处理分析服务 model 或多维数据集。 To resolve this, try the following:要解决此问题,请尝试以下操作:
1- Add a credential (stores a windows account credentials in SQL Server) 1-添加凭据(在 SQL 服务器中存储 windows 帐户凭据)
2- Add a proxy and give it permission to process and SSAS Command and run an ssis package 2-添加代理并授予其处理和 SSAS 命令的权限并运行 ssis package
3- Grant permissions to the account used in the credential to process the SSAS model or cube 3- 向凭证中使用的帐户授予权限以处理 SSAS model 或多维数据集
4- Configure the job to run under the new proxy account 4-将作业配置为在新代理帐户下运行
USE [master];
GO
CREATE CREDENTIAL [<domain\user>]
WITH
IDENTITY = N'<domain\user>'
, SECRET = N'<password>';
GO
USE [msdb];
GO
EXEC dbo.sp_add_proxy
@proxy_name = N'SSAS_Processor'
, @credential_name = N'<domain\user>'
, @enabled = 1;
GO
EXEC dbo.sp_grant_proxy_to_subsystem
@proxy_name = N'SSAS_Processor'
, @subsystem_id = 10; --ssas command
GO
EXEC dbo.sp_grant_proxy_to_subsystem
@proxy_name = N'proxy'
, @subsystem_id = 11; --ssis package
GO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.