无法从链接的 SQL Server 查询视图

Posted

技术标签:

【中文标题】无法从链接的 SQL Server 查询视图【英文标题】:Unable to Query a View from a Linked SQL Server 【发布时间】:2012-01-31 22:17:42 【问题描述】:

在 SQL Server Management Studio 中,我已将 SQL Server sql02 链接到我的本地服务器:

sp_addlinkedserver 'sql02'
GO

我可以从这个服务器查询表:

SELECT * FROM SQL02.SomeDatabase.dbo.SomeTable

但是,当我尝试查询视图时,如

SELECT * FROM SQL02.SomeDatabase.dbo.SomeView

我收到以下错误消息:

Msg 7314, Level 16, State 1, Line 1
The OLE DB provider "SQLNCLI10" for linked server "SQL02" does not contain the 
table ""SomeDatabase"."dbo"."SomeView"". The table either does not exist or the
current user does not have permissions on that table.

同意SomeView 不作为表格存在。我做错了什么?

可能相关的事实:

SQL Server 的本地版本是 10.50.1617 链接服务器版本为8.0.2282 我可以从视图中的所有基础表中选择

【问题讨论】:

您是否有权从视图中选择? 【参考方案1】:

看起来像是权限问题,您检查过视图的权限吗?您的查询没有问题。

另外,您是否检查过该视图查询在哪个表上?还要检查表权限。

作为提示:尝试在特定用户上运行视图,如果成功,请尝试使用该特定用户链接服务器。

【讨论】:

是的。就是这样。除了执行此视图的权限之外,我已经检查了所有内容!

以上是关于无法从链接的 SQL Server 查询视图的主要内容,如果未能解决你的问题,请参考以下文章

无法将行添加到 SQL Server 视图

SQL Server 索引视图:无法创建聚集索引,因为选择列表包含聚合函数结果的表达式

链接服务器无法开始分布式事务 - SQL Server

如何修复 SQL Server 查询中的排序规则冲突?

SQL Server-聚焦使用视图若干限制/建议视图查询性能问题,你懵逼了?(二十五)

无法架构绑定 sql server 视图