2014-12-11 67 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
相关问题