2015-04-16 98 views
5

我試圖將一些表從一個活動數據庫移動到另一個數據庫,然後將在數據傳輸後進行實時生成。第二個數據庫存在於2008年的服務器上,遷移是從2012年開始的,這導致了一些問題。從第一個數據庫中的第二個數據庫更新數據只有在表存在的地方

最初我使用腳本完成了數據庫導出。因爲導出工具不會轉到以前的版本。 - 完全導出後,我刪除了db2上多餘的表。因爲我只有約200人中有40人左右移動。

現在數據庫結構已經建立,一切正常。與過時的數據。一旦數據製作完成,一切都準備好了。所以我最好喜歡一個腳本,它檢查db1中是否存在db1中的表,然後如果它確實複製了所有行。這可能嗎?

+0

,你可以使用'powershell'腳本將其連接到輔助數據庫,獲得表的列表,然後從現場分貝做'BCP出來'那些表和然後在輔助數據庫中使用'bcp in'。一個簡單的sql腳本將無法連接到這兩個實例,除非您想要通過使用鏈接的服務器路徑 – ughai

回答

1

你需要創建一個返回根據你檢查表的結果上DB2的程序:

USE [DB2] 

CREATE PROCEDURE DBO.CHECKDB2TABLE 

@TABLENAME NVARCHAR(50) 

AS 

IF EXISTS (
    SELECT * FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE (TABLE_NAME = @TABLENAME) 
) 
    BEGIN 
     SELECT 'TRUE' 
    ELSE 
     SELECT 'FALSE' 
    END 

然後用程序來檢查DB2,並基於該輸出創造條件語句在桌子上覆制。

EXEC DB2.dbo.CheckDB2Table @TABLENAME='Tablename' 

謝謝。

+0

進行數據遷移是在SQL Server 2008和SQL Server 2012之間.OP將無法直接調用該過程。 – ughai

+0

因此,數據庫在不同的服務器上?在這種情況下,您可以創建鏈接服務器並配置RPC。然後遠程調用它...相同的想法和結果。 –

2

如果創建鏈接服務器不是一個選項,那麼你可以嘗試使用sql server導入數據嚮導將數據從一個數據庫傳輸到另一個數據庫。 使用下面的鏈接瞭解如何到: Import data easily in sql server

相關問題