Sql server 从SQL server 2005查找平面文件

Sql server 从SQL server 2005查找平面文件,sql-server,flat-file,Sql Server,Flat File,我在VisualStudio2005中构建了一个SSIS作业,该作业在SQLServer2005中访问平面文件并更新表。这很好用。然后,我使用protection level属性中的Server storage选项在SQL Server上存储副本。当我尝试运行此程序时,它找不到平面文件。平面文件位于服务器上,我使用IP地址访问它。我注意到,如果我删除对此服务器的映射并从visual studio运行作业,它也找不到它。我如何从SQLServer2005访问该文件?我打算安排此作业在SQL Ser

我在VisualStudio2005中构建了一个SSIS作业,该作业在SQLServer2005中访问平面文件并更新表。这很好用。然后,我使用protection level属性中的Server storage选项在SQL Server上存储副本。当我尝试运行此程序时,它找不到平面文件。平面文件位于服务器上,我使用IP地址访问它。我注意到,如果我删除对此服务器的映射并从visual studio运行作业,它也找不到它。我如何从SQLServer2005访问该文件?我打算安排此作业在SQL Server上自动运行。 非常感谢你能给予的任何帮助。
Ronnie Carlin

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

编辑以在主要答案中包含附加信息

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

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

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

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

感谢您的帮助。我不知道你说的账目是什么意思。当我连接到SQL Server时,我使用Windows身份验证,我的Windows帐户可以访问此文件夹。谢谢RonnieAndrew,我如何确定它运行在什么计数下?我已经检查了SQL Server代理的属性,但在那里看不到任何内容。Andrew非常感谢您在这方面的帮助我已经做了很多年的开发人员,但我对SQL Server相对较新,所以我有点挣扎。我已经决定,未来的方向是为这项工作创建一个代理帐户。基本上,我只想让作业以与我的windows帐户相同的权限运行,以便它可以访问所需的文件夹。当我创建代理帐户时,它会要求我输入凭据名称,我输入domain\login,但它不喜欢告诉我它不存在。任何建议。嗨,安德鲁。我用我的登录名和密码在凭据下创建了一个条目。然后,我在SSIS包执行下创建了一个代理,它允许我选择刚刚创建的凭据。我不确定如何告诉作业使用此代理,但我注意到,在常规属性中,作业步骤(这是一个1步作业)有一个名为“运行方式”的东西,它允许选择SQL代理服务帐户或我的新代理。我选择了我的代理,但当我运行它时,它会失败,并显示有用的消息“作业失败”??您已经找到了指定代理的正确位置,您可以按步骤指定它。您现在需要检查SQL日志或向包中添加日志提供程序,以便它告诉您失败的原因。你至少现在已经让它在你的广告帐户下运行了,这是以前没有的。