在视图中使用OPENQUERY的性能影响

时间:2011-10-13 11:24:55

标签: sql-server odbc linked-server

我使用EasySoft ODBC驱动程序将SQL Server 2008 R2 Express实例链接到Interbase,我在从远程服务器获取元数据时遇到了一些困难。从网上看,主要的sugestions都提到使用OPENQUERY而不是四部分链接的服务器语法。

E.G。我当前(有问题的)方法是......

CREATE VIEW [LIVE].[vwPRDETS]
AS

SELECT *
FROM [LBLIVE]...[PRDETS] WITH (NOLOCK)

但在某些表格中,我在调用视图时遇到错误...

  

Msg 7353,Level 16,State 1,Line 1 OLE DB提供程序“MSDASQL”for   链接服务器“LBLIVE”提供了不一致的元数据。一个额外的专栏   在执行期间提供,但在编译时未找到。

此外,我甚至无法创建一些观点,因为我得到以下内容......

  

Msg 7315,Level 16,State 1,Line 1 OLE DB提供程序“MSDASQL”for   链接服务器“LBLIVE”包含多个与名称匹配的表   “” SYSDBA “ ”AUDIT_LBABKP“”。

虽然只提到了一个表格。

搜索网络的替代方法似乎更像......

SELECT *
FROM OPENQUERY(<linked sevrer>, 'SELECT <column list> FROM MyTable')

所以,我的问题是,如果我在视图定义中使用OPENQUERY,SQL Server是否能够优化生成的SQL发送到Interbase?或者这两种方法之间真的没什么区别吗?

0 个答案:

没有答案