declare @node int = 9044;
DECLARE @sqlCommand NVARCHAR(MAX) =
(
'SELECT * FROM [@node].[database_name].dbo.table_name'
);
DECLARE @paramList NVARCHAR(400) =
(
'@node int'
)
exec sp_executesql @sqlCommand, @paramlist, @node;
所以这是我试图运行的简单查询。9044没问题。运行该查询通常可以完美运行(显然我已经删除了数据库和表名)。不完全确定它有什么问题。我得到的错误是:
消息 7202,级别 11,状态 2,第 1 行在 sys.servers 中找不到服务器“@node”。验证是否指定了正确的服务器名称。如有必要,执行存储过程 sp_addlinkedserver 将服务器添加到 sys.servers。
关于如何解决此问题的任何想法,或者我应该只编写查询并使用EXEC (@sql)