简体   繁体   English

SQL 服务器已部署 SSIS package 不会打开文件,尽管 SA 帐户可以访问文件夹

[英]SQL Server Deployed SSIS package won't open files despite SA account having access to folder

I posted a similar question before, but I have now came back to the point where I need to deal with this and after some tuning I have managed to get rid of all the errors, except one warning that basically tells me that the path provided to the package not finding any files in the directory (which is false).我之前发布了一个类似的问题,但我现在又回到了需要处理这个问题的地步,经过一些调整后,我设法摆脱了所有错误,除了一个警告基本上告诉我提供的路径package 在目录中找不到任何文件(这是错误的)。 This almost makes me want to believe this is again a permissions issue.这几乎让我想相信这又是一个权限问题。 As when I run the package locally it all works fine.当我在本地运行 package 时,一切正常。 Here is the warning:这是警告: 在此处输入图像描述 Same message appears when I right click SSIS package under the catalogue and directly try to execute the job.当我右键单击目录下的 SSIS package 并直接尝试执行作业时,出现相同的消息。 I made sure that the caller has full permissions to the folder in question我确保调用者对相关文件夹具有完全权限

在此处输入图像描述

SQL Server Agent Job calls the job like so SQL 服务器代理作业像这样调用作业在此处输入图像描述

With a single step in it to execute the SSIS package from the catalogue:只需一步即可执行目录中的 SSIS package: 在此处输入图像描述

The history of the executions is all successful and the history of SQL Agent job is all green执行历史全部成功,SQL 代理作业历史全部为绿色
One of the suggestions I got was to open SQL Server Configuration manager but I don't appear to have access to that.我得到的建议之一是打开 SQL 服务器配置管理器,但我似乎无权访问它。 I am new to this whole process so I am not sure if authentication has something to do with it or the sa account's permissions.我是这整个过程的新手,所以我不确定身份验证是否与它或 sa 帐户的权限有关。
Note: I am working on this on a remote dev server and not directly on my pc.注意:我正在远程开发服务器上进行此操作,而不是直接在我的电脑上。
Any help would be greatly appreciated.任何帮助将不胜感激。

Since you're running the package as the Agent Service Account:由于您将 package 作为代理服务帐户运行:

在此处输入图像描述

The permissions need to be applied to the SQL Server Agent Service Account or its per-service SID.需要将权限应用于 SQL 服务器代理服务帐户或其每服务 SID。

You can see the service account with PowerShell like this:您可以看到带有 PowerShell 的服务帐户,如下所示:

PS C:\Users\david> (Get-WmiObject win32_service | where Name -eq "SQLSERVERAGENT").StartName
NT Service\SQLSERVERAGENT

Turns out the database instance was on a whole different server that I wasn't even given access to.原来数据库实例位于我什至没有访问权限的完全不同的服务器上。 That server obviously didn't have the path specified in the SSIS package, so what I had to do is create a folder for files in the correct server, reroute my files there, and change the SSIS package path after obtaining the access to the server where DB instance lives. That server obviously didn't have the path specified in the SSIS package, so what I had to do is create a folder for files in the correct server, reroute my files there, and change the SSIS package path after obtaining the access to the server数据库实例所在的位置。 Me being new to all this, it was absolute frustration especially since our team is small and I am new in it I can't just ask someone questions about this all the time.我对这一切都是新手,这绝对令人沮丧,特别是因为我们的团队很小而且我是新手,所以我不能一直问别人这个问题。 Hopefully this will save someone a lot of time.希望这会为某人节省很多时间。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM