链接服务器

时间:2016-12-13 12:31:47

标签: sql-server tsql dynamic-sql openquery

您好我有2个不同的SQL Server数据库。

它们通过链接服务器相互连接。链接的服务器工作正常。

当我尝试:

SELECT 
    * 
FROM 
    OPENQUERY
        ([192.168.1.170], 
        'SELECT MalCRM.dbo.ContractedNumber(1)')

我收到以下错误。我怎么解决它?

  

链接服务器“192.168.1.170”的OLE DB提供程序“SQLNCLI11”返回消息“无法完成延迟准备。”。   Msg 229,Level 14,State 5,Line 1   对象'ContractedNumber',数据库'MalCrm',架构'dbo'上的EXECUTE权限被拒绝。

1 个答案:

答案 0 :(得分:0)

Merhaba Berhan,

我尝试了以下完美的SQL查询

SELECT * FROM OPENQUERY([myInstance], 'SELECT AdventureWorks.dbo.test(3)')

您是否检查过数据库功能的凭据是否有效? 这似乎是一个许可问题。 请检查SQL Server linked server安全上下文,并检查它是否具有数据库对象的执行权限。 在引用的教程中,在安全上下文中,您可以将源数据库用户映射到链接服务器上的其他用户。 这可能是问题