首页 > 解决方案 > 在远程服务器中运行 SQL Server 查询

问题描述

我有三个 SQL Server A、B 和 C。我正在尝试select @@servername从 A 服务器运行相同的查询,并从服务器 A 在 B 和 C 中运行相同的查询。我正在将此结果加载到服务器 A 表中。请让我知道如何完成这个。

标签: sql-serversql-server-2008sql-server-2012sql-server-2008-r2

解决方案


您可以使用链接服务器。

1-在一个实例内

INSERT INTO [DatabaseName].[SchemaName].[TableName] (...) SELECT ... FROM [B].[DatabaseName].[SchemaName].[TableName];
INSERT INTO [DatabaseName].[SchemaName].[TableName] (...) SELECT ... FROM [C].[DatabaseName].[SchemaName].[TableName];

2-在一个实例内(动态 SQL)

EXEC ('INSERT INTO [A].[DatabaseName].[SchemaName].[TableName] (...) SELECT ... FROM [DatabaseName].[SchemaName].[TableName]') AT [B];
EXEC ('INSERT INTO [A].[DatabaseName].[SchemaName].[TableName] (...) SELECT ... FROM [DatabaseName].[SchemaName].[TableName]') AT [C];

3-在其他实例中

INSERT INTO [A].[DatabaseName].[SchemaName].[TableName] (...) SELECT ... FROM [DatabaseName].[SchemaName].[TableName];

推荐阅读