2016-09-20 33 views
0

我在dev數據庫服務器中的表Table_1中添加了一些新記錄。我在測試數據庫服務器中有完全相同的表Table_1。我只想將dev數據庫服務器中的表Table_1中的記錄複製到測試數據庫服務器中相同的表Table_1中,這些記錄在測試數據庫服務器上的Table_1中不存在。什麼是最好的方法?如何從測試環境中的表中將表中的新記錄複製/移動到測試環境中的相同表中

+1

做一個SELECT INTO服務器與子查詢​​過濾DEV與NOT IN – Oscar

+0

如果有任何例子,這將是好的? – SPBeginer

+1

這兩者之間是否有鏈接的服務器設置?如果是這樣,那麼你可以直接查詢它們(就像它們是同一個數據庫中的兩個表一樣)。如果沒有,那麼你需要創建一個鏈接服務器或使用像導入/導出嚮導這樣的工具,定義你的源和目的地,然後定義查詢。你的問題是一個t-sql(即「如何查找一個表中不存在的行」?),還是「如何在服務器之間移動數據」? – paulbarbin

回答

0
Insert into servername.testdb.dbo.Table_1 (ID, column1, column2, etc) 
Select ID, column1, column2, etc 
From Devdb.dbo.Table_1 
Where ID Not IN (Select ID From servername.testdb.dbo.Table_1) 

如果ID是標識列,您將收到你的插入後,SET IDENTITY_INSERT,你也不得不從運行測試服務器刀片和開發提取數據。

+1

這是正確的,但前提是服務器已鏈接。 – Iztoksson

+0

@WEI_DBA,我運行這個查詢?在測試服務器或開發服務器上? – SPBeginer

+0

以上聲明是從DEV服務器運行的。是的,如果你有鏈接服務器。否則,該聲明將會出錯。 –