我创建了SSIS包,并使用Integration Services部署向导将其部署到服务器。我通过SQL Server 2012手动转到Integration Services Catalog访问,右键单击并执行我的包。
但是,当我检查执行报告的消息时,包会一直失败并且我收到以下错误。
他们似乎在我有脚本组件的数据任务上失败。
分配:错误:CS2001 - 无法找到源文件'C:\ Windows \ TEMP.NETFramework,Version = v4.0.AssemblyAttributes.cs',CSC,0,0
分配:错误:无法编译包中包含的脚本。在SSIS设计器中打开包并解决编译错误。
答案 0 :(得分:6)
这个答案是UberDoodles答案的更详细版本。
在Windows资源管理器中。
C:\Windows\Temp\
properties
Security
,然后选择Advanced
Permissions
上,选择Change Permissions
edit
。Traverse folder / execute file
,Create files / write data
和Create folders / append data
。List folder / read data
和Take ownership
。此外,已登录的用户已完全控制,但当我为条目'用户'更改此内容时,它对我有效。
答案 1 :(得分:3)
我今天遇到了同样的问题,就在SQL 2016上。 对我来说,它有助于将Visual Studio项目属性中的目标服务器版本从SQL Server 2012更改为SQL Server 2016。
答案 2 :(得分:2)
我正在研究同样的问题,我在这里遇到了一个解决方案:
基本上,运行包的帐户需要拥有C:\ Windows \ Temp \文件夹的完全权限,以便它可以创建临时类。
它对我有用:)
答案 3 :(得分:0)
我遇到了同样的问题。我首先使用 Eric G。响应,并将List
和Read
权限添加到c:\windows\temp
。在我完成所有工作后,我回去取消了该许可。然后我从 Visual Studio 重新部署了我的解决方案,这次使用 Martin 将部署目标指定为SQL Server 2014
(这是我正在使用的环境)解。然后我重新开始这个过程,并且删除了List
和Read
。
我使用 Martin的解决方案保留了它,因为如果我不需要特殊权限,我不想授予它们。
祝你好运
答案 4 :(得分:0)
[Visual Studio 2017 15.9.16]
我刚刚以管理员身份重新启动了 Visual Studio ,该问题消失了,这确认了上述答案的权限思想,但使我避免了所有工作。
但这并不是一个怪癖,根据this question and its answer,您需要对某些任务具有这种权限,例如在某些条件下进行性能分析和调试。
出于完整性考虑,this blog说,如果在打开第三方解决方案时以管理员身份运行VS,则可能会导致某些安全禁忌。