[英]SQL Server: inserting data from one database to another database structure by specific date
[英]inserting data from one database on one server to another database on other server
使用Management Studio是否可以进行这样的查询? 我只想将数据从一个表复制到另一个表,但是这些在其他服务器上。
Select * From ServerName1.DbName1.SchemaName1.TableName1
从另一台服务器应该为您获取数据。
您需要做的就是使用完整的sql对象命名约定 。
这是
[ServerName].[DbName].[SchemaName].[TableName]
如果未链接服务器,则可能需要查看“ SQL Server导入和导出向导 ”,该向导是通过右键单击数据库,然后选择“任务”->“导出数据”找到的。
这是通过构建一个SSIS包来工作的,如果您希望定期保存,则可以将其保存(如果您定期执行此任务)
您必须先创建一个链接服务器。
对于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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.