公司新项目要进行数据同步,在网上找了这部分的资料,零零碎碎很多方面,但是并不实用,我在工作过后把这些总结一下,写个博客做个记录,希望也能帮助到园友。

  公司刚接一个项目,客户把一个功能独立于公司系统放入另一个购买的系统中,要求本地放有该功能的数据,并且可以实时查询出购买的系统的数据。

  经过分析得到一个方法:

  • 使用脚本每天定时执行,把每天的数据使用存储过程放入公司数据库,保证本地有数据。
  • 使用视图或者同义词从公司数据库远程连接购买的系统的数据库,进行查询,保证实时查出数据。

  在这里先使用视图远程连接数据库查询数据:

    我远程连接的开发环境:

     1. 两个虚拟机

     2. 每台虚拟机有sqlserver

    对于远程连接,概念随处可见,这里列出基本的几个:

    在需要数据的虚拟机数据库中建立连接

EXEC sp_addlinkedserver
   @server = '192.168.***.***' --链接的服务器IP

    注:ip地址可用dos命令-ipconfig获得,可参考http://jingyan.baidu.com/article/20b68a8875003a796cec621e.html

 

EXEC sp_addlinkedsrvlogin 
    @rmtsrvname =  '192.168.***.***', --登录远程SQL链接服务器IP
    @rmtuser =  'sa',           --登录SQL用户名
    @rmtpassword =  'sa'     --登录远程SQL密码

    接下来就是查询语句

SELECT * FROM OPENQUERY ([192.168.***.***] ,'select * from 数据库名.dbo.表名' )

    现在就可以进行基本的数据查询,然后将查询语句放入视图:

CREATE VIEW view_***
AS
SELECT * FROM OPENQUERY ([192.168.***.***] ,'select * from 数据库名.dbo.表名' )

    然后查询视图,这里视图只是简单的sql查询做例子,建议对视图不清楚的看一下视图的资料,http://blog.csdn.net/wl_ldy/article/details/5289557

    接下来只需要查询视图便可以获得数据

select * from view_***

    然后对视图进行查询,实时数据查询就完成了,其他内容后续分享。

 

 

 

       

    

 

posted on 2016-04-12 17:58  小光  阅读(4016)  评论(0编辑  收藏  举报