【问题标题】:How execute system stored procedure sp_refreshview by using Linked Server如何使用链接服务器执行系统存储过程sp_refreshview
【发布时间】:2022-11-21 13:06:09
【问题描述】:

我需要使用创建的链接服务器在另一个数据库上执行sp_refreshview

例如,我有链接服务器Demo_LinkedServer。在AdventureWorks 数据库中,我创建了一个表Demo_TBL,并在该表之上创建了一个名为VW_Demo_TBL 的视图。

现在,我在数据库Demo_Database 中。我如何使用链接服务器Demo_LinkedServerAdventureWorks中执行sp_refreshview

第一次尝试:

exec Demo_LinkedServer.AdventureWorks.dbo.sp_refreshview N'dbo.VW_Demo_TBL'. 

我收到错误:

服务器“Demo_LinkedServer”没有为 RPC 配置。

第二次尝试:

SELECT * 
FROM OPENQUERY(Demo_LinkedServer, 
               'EXEC sp_refreshview N''dbo.VW_Demo_TBL''')

现在我得到这个错误:

消息 11528,级别 16,状态 1,过程 sys.sp_describe_first_result_set,第 1 行 [批处理起始行 118]
无法确定元数据,因为过程“sp_refreshsqlmodule_internal”中的语句“EXEC %%TriggerEx(MultiName = @name).LockMatchID(ID = @objid, Exclusive = 1, NameSpaceClass = @ns)”不支持元数据发现。

【问题讨论】:

  • 您是否能够在链接服务器中运行其他存储过程?使用 exec 命令?

标签: sql-server-2012 linked-server


【解决方案1】:

您是否将链接服务器选项中的RPCRPC Out更改为True

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多