您好我有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权限被拒绝。
答案 0 :(得分:0)
Merhaba Berhan,
我尝试了以下完美的SQL查询
SELECT * FROM OPENQUERY([myInstance], 'SELECT AdventureWorks.dbo.test(3)')
您是否检查过数据库功能的凭据是否有效? 这似乎是一个许可问题。 请检查SQL Server linked server安全上下文,并检查它是否具有数据库对象的执行权限。 在引用的教程中,在安全上下文中,您可以将源数据库用户映射到链接服务器上的其他用户。 这可能是问题