2011-02-11 5 views

Répondre

2
Select * From ServerName1.DbName1.SchemaName1.TableName1 

de l'autre serveur doit obtenir les données pour vous.

Tout ce que vous avez à faire est utilisez les conventions de nommage des objets SQL complets.

qui est

[ServerName].[DbName].[SchemaName].[TableName] 
1

Si les serveurs ne sont pas liés, vous voudrez peut-être regarder le « SQL Server Import and Export Wizard », trouvé par un clic droit sur une base de données, et en choisissant Tasks-> Exporter des données.

Cela fonctionne en construisant un package SSIS, qui (si vous faites cette tâche régulièrement), vous voudrez peut-être sauver

0

vous devez créer un premier serveur lié.

pour SQL Server 2012, il serait: -

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 

vous pouvez utiliser toutes les tables du serveur lié mentionnant le nom du serveur en utilisant plein objet sql conventions de nommage comme: -

select * 
from [server1].[database].[schema].[table] as t1 
inner join [server2].[database].[schema].[table] as t2 
    on t1.columnname = t2.columnname 
Questions connexes