2014-12-11 55 views
0

我有兩臺服務器,Production和,我只需要移動一張表的數據,每天只能從生產服務器到存儲服務器按計劃獲取新數據。而不是將重複項插入到存儲庫中。按計劃將數據複製到不同的服務器

有沒有辦法創造這樣的工作?

回答

0

我看到兩種方法可以做到這一點:

  • 創建SQL語句來完成這個任務,是這樣的:

    INSERT INTO [REMOTE_SERVER].[REMOTE_DB].dbo.[TABLE_NAME] 
        SELECT * FROM LOCAL_TABLE 
         WHERE LOCAL_TABLE.KEY_FIELD NOT IN 
         (SELECT KEY_FIELD FROM [REMOTE_SERVER].[REMOTE_DB].dbo.[TABLE_NAME]) 
    

    ,並定期使用JOB

  • 使用運行此查詢MS SSIS

+0

這將如何查詢做表現,如果我們將擁有數百萬行。 謝謝 – user3547133 2014-12-11 05:03:26

+0

我不認爲它會很快,因爲在不同的服務器上的表。爲了提高性能,你可以在LOCAL_SERVER上的REMOTE_SERVER中存儲KEY_FIELD,並將查詢改爲NOT IN(從SPECIAL_TABLE中選擇KEY_FIELD_ON_REMOTE_SERVER),但只有當你從一個LOCAL_SERVER上的REMOTE_SERVER上存儲記錄 – demas 2014-12-11 05:06:57

0
  • Use Job
  • Create Linked Server
    INSERT INTO "ServerName".DBName.dbo.TableName 
     
        SELECT A.* 
     
        FROM TableName A 
     
        LEFT OUTER JOIN "ServerName".DBName.dbo.TableName B A.KeyField = B.KeyField 
     
        WHERE B.KeyField IS NULL
相關問題