首页 > 解决方案 > 在链接服务器中执行 sp_MSforeachdb

问题描述

我在下面有脚本,我在 Server01 上运行了它,它打算引用链接服务器 Server02,但出现错误:

消息 7314,级别 16,状态 1,第 17 行链接服务器“Server02”的 OLE DB 提供程序“MSOLEDBSQL”不包含表““Traffic_Test”。“SYS”。“COLUMNS”。该表不存在或当前用户对该表没有权限。

DBTraffic_Test存在于 Server01 上,但不存在于 Server02 上。它似乎在 Server01 内部而不是在 Server02 中扫描。

declare @cmd varchar(500)  
declare @tx table([TName] nvarchar(500),[Name] nvarchar(500) null)

set @cmd='USE [?]; SELECT object_name(object_id),name FROM [Server02].?.SYS.COLUMNS'  
INSERT INTO @tx
exec SP_MSFOREACHDB @cmd  
SELECT * FROM @tx

标签: sql-server-2012

解决方案


推荐阅读