SQL2005两台服务器数据同步

amplifer 2014-11-19 09:37:49
背景:
一台生产服务器A,WIN2003+SQL2005,数据库中有若干表,保存有产品的参数指标以及每个工序的生产记录等,这台服务器考虑到数据安全问题没有连入互联网,只是在内网使用。

需求:
需要做一个页面,客户能直接通过序列号查询到每个工序的生产记录。

分析:
服务器A是生产核心,不可直接开放到互联网,只能另外找一台服务器B,B连入互联网,并将服务器A中的生产数据定期(比如每天)同步到服务器B。

我的问题是:
1,这个方案可行吗?
2,同步工作具体如何操作,是在服务器A上做定时作业吗?
3,服务器A处于内网,服务器B处于外网,网段不同能否实现数据同步?
4,可否只同步部分表的数据,比如只同步生产记录这张表?

之前没做过这方面的工作,望大家指点一二,不胜感激!
...全文
397 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
tds__609 2014-11-21
  • 打赏
  • 举报
回复
sql server2005 订阅与发布, B服务器订阅A服务器的表,B放在外网,供查询使用。
舞台中央的我 2014-11-21
  • 打赏
  • 举报
回复
引用 13 楼 DBA_Huangzj 的回复:
日志传送:http://blog.csdn.net/dba_huangzj/article/category/1307205 复制:http://blog.csdn.net/dba_huangzj/article/details/19118121
好东西 不错
amplifer 2014-11-20
  • 打赏
  • 举报
回复
感谢@fredrickhu 版主和@ky_min 的耐心解答!
引用 8 楼 DBA_Huangzj 的回复:
库小的话,每天晚上备份过去还原即可。库大的话,可以考虑用日志传送(全库)或者复制技术(可实现表级甚至列级、行级同步)把需要同步的数据同步过去。
@DBA_Huangzj 版主能提供一些这方面的参考资料吗,谢谢!
中国风 2014-11-20
  • 打赏
  • 举报
回复
做读写分离,B只读服务器(双网卡(外部网、内部网)),A服务器-->B服务器(事务复制)用内部网卡同步
Tiger_Zhao 2014-11-20
  • 打赏
  • 举报
回复
因为你只想暴露部分数据给外部访问,备份/还原方案直接否决。
订阅/发布需要A、B能互访(应该没记错),也不符合内外隔离的要求。

建议在A上把生产记录导出成文件,然后到B上导入。
如果数据文件上G了,用移到硬盘手工转移吧,反正你的实时性要求不高。
如果数据文件比较小,可以用FTP传送,这样就可以用定时任务自动完成。防火墙只允许A->B的单向FTP,安全性也有保障。
还在加载中灬 2014-11-20
  • 打赏
  • 举报
回复
引用 4 楼 zeal808 的回复:
[quote=引用 1 楼 ky_min 的回复:] 如果B也有连接内网,是的话,可以直接在B做个WEBSERVICE对外网提供数据服务就可以了 这样就没有这么多问题了~~
主要是考虑到服务器A的安全性和负荷的问题,对实时性要求并不高,1天或者2天同步一次都可以,但是不可让外网页面直接访问服务器A的数据。 内网和外网的网段不同,物理上也没有连在一起,完全隔离的,照这个思路是不是可以在服务器B上用双网卡,一张接内网连到服务器A,另一张接外网连入客户页面,然后通过作业来实现同步呢?[/quote]怎么都行,确保AB能够连接是必须的,实时要求不高,做个定时任务,每天同步就可以了
發糞塗牆 2014-11-20
  • 打赏
  • 举报
回复
引用 6 楼 zeal808 的回复:
[quote=引用 3 楼 DBA_Huangzj 的回复:] 这个主要在实时性要求和同步范围上。不同的需要有不同的方案,复杂度也随之不同
实时性要求不高,一天一次或者两天一次都行,如果能够实现部分表同步当然好,如果比较麻烦就全部表都同步过去也行,就想找个最简单的方案。[/quote]库小的话,每天晚上备份过去还原即可。库大的话,可以考虑用日志传送(全库)或者复制技术(可实现表级甚至列级、行级同步)把需要同步的数据同步过去。
--小F-- 2014-11-20
  • 打赏
  • 举报
回复
实时性要求不高的话 可以考虑用JOB实现了 如果实时性要求高的话 考虑 同步复制 镜像 。SQL SERVER 2012还可以配置 ALLWAYS ON
amplifer 2014-11-20
  • 打赏
  • 举报
回复
引用 3 楼 DBA_Huangzj 的回复:
这个主要在实时性要求和同步范围上。不同的需要有不同的方案,复杂度也随之不同
实时性要求不高,一天一次或者两天一次都行,如果能够实现部分表同步当然好,如果比较麻烦就全部表都同步过去也行,就想找个最简单的方案。
amplifer 2014-11-20
  • 打赏
  • 举报
回复
引用 2 楼 fredrickhu 的回复:
http://bbs.csdn.net/topics/290087836
请问下斑竹,这个帖子中二楼的同步方法是每次同步都是整个库一起同步到订阅服务器吗?假如一天同步一次,可否实现类似增量同步的功能啊?主要是库中数据较多,每次都完整的同步的话,可能会比较耗时。
amplifer 2014-11-20
  • 打赏
  • 举报
回复
引用 1 楼 ky_min 的回复:
如果B也有连接内网,是的话,可以直接在B做个WEBSERVICE对外网提供数据服务就可以了 这样就没有这么多问题了~~
主要是考虑到服务器A的安全性和负荷的问题,对实时性要求并不高,1天或者2天同步一次都可以,但是不可让外网页面直接访问服务器A的数据。 内网和外网的网段不同,物理上也没有连在一起,完全隔离的,照这个思路是不是可以在服务器B上用双网卡,一张接内网连到服务器A,另一张接外网连入客户页面,然后通过作业来实现同步呢?
發糞塗牆 2014-11-20
  • 打赏
  • 举报
回复
这个主要在实时性要求和同步范围上。不同的需要有不同的方案,复杂度也随之不同
--小F-- 2014-11-20
  • 打赏
  • 举报
回复
Q315054403 2014-11-20
  • 打赏
  • 举报
回复
不用什么同步呀,WEB给INTERNET访问即可,WEB走内网联接数据库 标准的应用呀
还在加载中灬 2014-11-19
  • 打赏
  • 举报
回复
如果B也有连接内网,是的话,可以直接在B做个WEBSERVICE对外网提供数据服务就可以了 这样就没有这么多问题了~~ 1、应该是可以的 2、可以在A,也可以在B 3、如果B也有连接内网,肯定可以 如果没有,那么需要B有个公网IP而且A也要能访问外网,并且定时任务应该只能做到A了 4、当然可以 另外,定时任务等一些操作网上很多~~

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧