SQL Server Linked Server获取旧视图定义,如何获取最新定义?
解决Linked Server获取远程视图最新定义的方法
刷新Linked Server整体元数据缓存
直接执行系统存储过程sp_refreshlinkedserver,替换成你的Linked Server名称即可:EXEC sp_refreshlinkedserver @server = N'你的LinkedServer名称';这会强制本地服务器重新从远程拉取所有元数据,包括目标视图的最新定义。
仅刷新单个目标视图(按需选择)
如果不想刷新整个Linked Server的元数据,可直接在远程服务器上刷新该视图的元数据,执行以下语句:EXEC [你的LinkedServer名称].[远程数据库名].sys.sp_refreshsqlmodule N'视图架构名.视图名称';前提是你有执行远程存储过程的权限。
验证修复效果
刷新完成后,重新用sp_helptext查看视图定义:EXEC sp_helptext N'[你的LinkedServer名称].[远程数据库名].[视图架构名].[视图名称]';同时测试视图执行结果,确认数据正常。
内容的提问来源于stack exchange,提问作者TheOriginalCole
相关产品推荐
相关产品推荐

