是否有可能使用管理工作室进行此类查询?我只想将数据从一个表复制到另一个表,但这些表在其他服务器上。
答案 0 :(得分:2)
Select * From ServerName1.DbName1.SchemaName1.TableName1
来自其他服务器的应该为您获取数据。
您需要做的就是使用完整的sql对象命名约定。
是
[ServerName].[DbName].[SchemaName].[TableName]
答案 1 :(得分:1)
如果服务器未链接,您可能需要查看“SQL Server Import and Export Wizard”,通过右键单击数据库找到,然后选择“任务” - >“导出数据”。
这可以通过构建一个SSIS包来实现(如果你经常这样做)你可能希望保存
答案 2 :(得分:0)
您必须先创建一个链接服务器。
对于SQL Server 2012,它将是: -
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'<SERVERNAME>', @srvproduct=N'SQL Server'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'<SERVERNAME>',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'<SERVERNAME>',@useself=N'False',@locallogin=N'sa',@rmtuser=N'sa',@rmtpassword='########'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'rpc', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'rpc out', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'use remote collation', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'remote proc transaction promotion', @optvalue=N'true'
GO
然后您可以使用链接服务器中的每个表,使用完整的sql对象命名约定来提及服务器名称,如: -
select *
from [server1].[database].[schema].[table] as t1
inner join [server2].[database].[schema].[table] as t2
on t1.columnname = t2.columnname