细枝末节这里不提,直接上干货,比如你应该知道局域网下数据库之间的链接服务器搭建(其他设置请百度一下)。
设备:两个不同局域网下的主机(服务器也行),数据库已建好(如SQL2008),比如
主机A本地内网IP:192.168.1.56
主机B本地内网IP:10.11.12.13
工具:花生壳客户端
步骤一:先在花生壳网站注册免费个人域名(如abc.com),在主机A打开花生壳客户端,然后开启内网映射,内部端口SQL默认的是1433,当然也可以SQL配置工具中为其他的值。如果没有更改使用1433就可以。
通过花生壳客户端的“内诊断”检测你的域名绑定的公网IP地址,当然你也可以百度域名IP查询也能检测到,比如这个公网IP是1.2.3.4。
第三张图片右半部分会有两个内网映射对应的外网端口,这个涉及隐私,我没有截出来。这个将会用到,比如分别是(10000,11111)。
步骤二:在主机A的SQL中新建查询,建立链接服务器。具体可以参考http://blog.chinaunix.net/uid-23929779-id-335932.html
EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB','1.2.3.4,11111'
EXEC sp_addlinkedsrvlogin 'TLinkName','false',NULL,'sa','sa'
然后就可以使用触发器来从主机A数据库查询插入更新主机B数据库的表了。
如果想在主机B中操作主机A的数据,办法是一样的。将端口号改成A主机内网映射对应的外网IP和端口就行了。
EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB','1.2.3.4,10000'
EXEC sp_addlinkedsrvlogin 'TLinkName','false',NULL,'sa','sa'
另外:当然可以在主机A和主机B中分别开启花生壳客户端,分别设置自己的内网映射。我这里在主机A中把A和B的内网映射都设置了。
想一想这个东西是不是很有用,不管你的两个服务器世界在哪个地方,只要能上网,都能相互插入更新查询数据,实现数据传递。