?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
?
?
原文:http://wodeguozili.iteye.com/blog/2302169