比较SQL Server 2014中不同服务器上的两个表

时间:2016-09-21 03:01:57

标签: sql-server

我正在尝试比较两个表,一个在UAT服务器上,一个在实时上。

我过去常常使用类似的查询。

有人可以帮忙吗?我想使用EXCEPT来显示任何差异。

:CONNECT servername
PRINT 'live'

SELECT * 
FROM [database].[tablename] AS pm

go

:CONNECT servername
PRINT 'uat'

SELECT * 
FROM [database].[tablename] AS pm

go

1 个答案:

答案 0 :(得分:1)

在这里查看openquery
OPENQUERY

并像这样使用

 --link other server
 EXEC sp_addlinkedserver @server='10.223.224.21\servername' 
 EXEC sp_addlinkedsrvlogin '10.223.224.21\servername', 'false', NULL, 
 'sa','password'

-- Fetch data from the other database server
SELECT *
INTO #myTempTable
FROM OPENQUERY([DB2], 'SELECT * FROM [MyDatabaseOnDB2].[dbo].[MyOtherTable]')

-- Now I can join my temp table to see the data
SELECT * FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1
INNER JOIN #myTempTable tab2 ON tab1.ID = tab2.ID