我们设置了一个Active Directory服务帐户来运行我们的SSIS包。我们称之为DOMAIN \ Sql_Agent_User。此帐户被错误地设置为域管理员。我们最近意识到并将其从域管理员中删除。大多数权限都是正确设置的,但是写入UNC路径的一个特定作业开始失败。所以我们在昨晚给Sql_Agent_user读/写/修改了那个特定的文件夹(之前有"完全控制"那里),期待它今天早上正常工作。
现在,我可以以Sql_Agent_User身份登录到此SQL Server计算机,并从Visual Studio中运行该程序包。但是当我尝试使用SQL代理运行它时,我收到以下(已编辑)错误消息:
Executed as user: DOMAIN\Sql_Agent_User. Microsoft (R) SQL Server Execute
Package Utility Version 10.50.2500.0 for 64-bit Copyright (C) Microsoft
Corporation 2010. All rights reserved. Started: 8:38:01 AM Error:
2017-03-07 08:38:01.43 Code: 0xC001401E Source: DTSXPackageName
Connection manager "Data File" Description: The file name
"\\OtherMachine\Data\Shared\Folder\Hours.csv" specified in the connection
was not valid. End Error Error: 2017-03-07 08:38:01.43 Code:
0xC001401D Source: DTSXPackageName Description: Connection "Data
File" failed validation. End Error Error: 2017-03-07 08:38:01.84 Code:
0xC001401E Source: DTSXPackageName Connection manager "Data File"
Description: The file name "\\OtherMachine\Data\Shared\Folder\Hours.csv"
specified in the connection was not valid. End Error Error: 2017-03-07
08:38:01.87 Code: 0xC0202070 Source: DTSXPackageName Connection
manager "Data File" Description: The file name property is not valid.
The file name is a device or contains invalid characters. End Error
DTExec: The package execution returned DTSER_FAILURE (1). Started: 8:38:01
AM Finished: 8:38:01 AM Elapsed: 0.844 seconds. The package execution
failed. The step failed.
UNC路径确实转到正确的文件,这是在Visual Studio中运行包时正确输出的文件。当以该服务帐户用户身份登录时,我可以使用Windows资源管理器导航到该路径。
同样,包裹根本没有改变。这看起来像权限问题,但如何?
答案 0 :(得分:0)
安全上下文没有共享文件夹\ othermachine ...
的权限常见的解决方案是创建具有正确权限的代理并在代理下运行作业。
请看这个怎么做: https://technet.microsoft.com/en-us/library/ms189064(v=sql.105).aspx
本
答案 1 :(得分:0)
这是关于为SSIS创建代理帐户的非常好的文章:
答案 2 :(得分:0)
重新启动SQL代理服务修复了该问题。不需要代理,因为该帐户已具有所需的权限,正如它在Visual Studio中正常运行所证明的那样。