SQL Server数据同步

 SQL server数据库在开发的过程中,有的时候可能开发库需要同步正式库或者测试库的数据,那么SQL server如何同步数据呢,一种方式使用SQL server自带图形化方式,一种为脚本方式同步,这里介绍脚本方式。

保证您使用的库已经建立了链接服务器链接到对应的正式库,如图

如何访问正式库的数据呢?方法使用 [链接服务器名]+点+数据库名+点+dbo+点+表名

SELECT *
FROM [10.21.2.25].budget.dbo.tb_item_bind_info

那么接下来如果同步正式库数据,很简单如下

TRUNCATE TABLE budget.dbo.tb_item_bind_info
go

INSERT INTO budget.dbo.tb_item_bind_info
        ( bind_id ,
          item_id ,
          mflag ,
          remark ,
          CREATION_DATE ,
          CREATED_BY ,
          LAST_UPDATED_BY ,
          LAST_UPDATE_DATE
        )
SELECT bind_id ,
          item_id ,
          mflag ,
          remark ,
          CREATION_DATE ,
          CREATED_BY ,
          LAST_UPDATED_BY ,
          LAST_UPDATE_DATE
FROM [10.21.2.25].budget.dbo.tb_item_bind_info
go

SQL server中经常表会设置自增长列,如果按如上方式同步,同步过来也是自增长,该列有可能和线上数据不同,如果需要必须也和线上相同,需要开启 set IDENTITY_INSERT 表名 ON  同时,需要将自增列也加入到insert中

例子

TRUNCATE TABLE budget.dbo.tb_item_bind_info
go

set IDENTITY_INSERT budget.dbo.tb_item_bind_info  ON
go

INSERT INTO budget.dbo.tb_item_bind_info
        ( id,
          bind_id ,
          item_id ,
          mflag ,
          remark ,
          CREATION_DATE ,
          CREATED_BY ,
          LAST_UPDATED_BY ,
          LAST_UPDATE_DATE
        )
SELECT id,bind_id ,
          item_id ,
          mflag ,
          remark ,
          CREATION_DATE ,
          CREATED_BY ,
          LAST_UPDATED_BY ,
          LAST_UPDATE_DATE
FROM [10.21.2.25].budget.dbo.tb_item_bind_info
go

猜你喜欢

转载自wodeguozili.iteye.com/blog/2302169