0

我在 Visual Studio 2005 中构建了一个 SSIS 作业,它访问一个平面文件并更新 SQL Server 2005 中的一个表。这非常有效。然后,我使用保护级别属性中的服务器存储选项将副本存储在 SQL Server 上。当我尝试运行它时,它找不到平面文件。平面文件位于服务器上,我使用 IP 地址访问它。我注意到,如果我删除到此服务器的映射并从 Visual Studio 运行作业,它也找不到它。我要从 SQL Server 2005 访问该文件吗?我打算安排这个作业在 SQL Server 上自动运行。非常感谢您提供的任何帮助。罗尼·卡林

4

1 回答 1

1

只是为了避免更复杂的问题,检查作业在哪个帐户下运行(例如,有一个 procy 和凭据)或者它是否使用基本 SQL 代理帐户,然后检查该帐户是否具有对该文件夹的访问权限\ 文件,您尝试导入。让我们不止一次地抓住了我们。

编辑以在主要答案中包含其他信息。

当 SQL 代理运行作业时,它不使用您的帐户,即使您启动了作业执行 - 它使用 SQL 代理帐户。SQl 代理设置的帐户(默认情况下)或您使用代理/凭据指定的命名帐户。您可能能够访问该文件夹,但您需要检查 SQL 代理在哪个帐户下运行以及它是否可以访问它。

要找出作业在默认情况下运行的帐户,您可以通过开始 -> 程序文件 ->SQL Server -> 配置工具 -> SQL Server 配置管理器访问它。在 2005 服务 SQL Server 代理将列出,右键单击属性,第一个选项卡显示代理正在哪个帐户下运行。

但是,如果您需要在特定帐户下运行的作业,我建议您创建代理/凭据而不更改代理帐户 - 因为这是所有其他作业正在使用的帐户。

凭据和代理是 SQL 中的不同对象,凭据存储在安全文件夹/凭据下 - 这是您创建凭据并放置 AD 用户名/密码的位置。然后,代理会要求您从已存储在系统上的凭据列表中选择一个凭据,而不是此时您的域\用户。

于 2009-10-07T09:34:01.053 回答