在SSIS中通过共享服务器访问链接服务器

时间:2012-07-25 14:51:07

标签: sql-server ssis

我有一个设置为ServerX的数据库连接管理器。在ServerX上,我有一个名为ServerY的链接服务器。

我在ServerX上运行此查询,它可以正常工作

select * from 
[Serverx].[database1].[dbo].[Table1] A
left join [Servery].[database2].[dbo].[Table2] B
on A.[DNum]=B.[DNum]

我把它放在一个SSIS包中的执行SQL任务中,该包位于我的PC而不是ServerX上。我运行它并且它给出了这个错误:

  

任务10小时出错 - 检查缺少的交易[OLE DB Source [1]]:   SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。   错误代码:0x80040E14。 OLE DB记录可用。资源:   “Microsoft SQL Server Native Client 10.0”Hresult:0x80040E14   描述:“OLE DB提供程序”SQLNCLI10“用于链接服务器   “Server_Y”不包含表“”database2“。”dbo“。”Table2“”。   该表不存在或当前用户没有   该表的权限。“。

该查询适用于ServerX,但不能在我的PC上使用与服务器上的数据库的远程数据库连接或使用SSIS中的执行SQL任务。

我错过了什么吗?请帮忙吗?

1 个答案:

答案 0 :(得分:1)

正如错误所说:

  

该表不存在或当前用户没有   该表的权限

因为您可以在ServerX上运行查询,所以您知道链接服务器和ServerY上的表存在(假设您在SSIS包中正确键入了查询),因此问题很可能是权限。

包中ServerX的连接管理器很可能配置不正确:它可能有错误的登录凭据,或者甚至可能指向错误的服务器。