日期:2014-05-17  浏览次数:20669 次

SQL 2008 发布与订阅的问题
发布与订阅能够实现两个数据库的数据同步,那么订阅服务器上如果写入了数据,会怎么样?

其实我是有两台服务器,一个主一个备用,想实现当主服务器down掉的时候,切换到备用服务器上服务器继续使用(当然就会产生数据的写入与删除),如果备用服务器也写入了数据,会不会对主服务器有什么影响。因为等待主服务器再次启动时,还要转移到主服务器上。

我还不是很了解发布与订阅,网上的教程都是教如何发布与订阅,并没找到关于其使用范围及注意事项。

------解决方案--------------------
其实我是有两台服务器,一个主一个备用,想实现当主服务器down掉的时候,切换到备用服务器上服务器继续使用
--> 这是数据库镜像的功能.
------解决方案--------------------
订阅和发布不支持故障转移,如果你要自动切换,那么就选择镜像或者集群(群集,不同地方叫法不同)
------解决方案--------------------
你这应该做镜像而不是用发布订阅
------解决方案--------------------
集群、镜像、日志传输、发布/订阅是4个高可用,都可以分开配置,不是谁依赖谁的。比较好的搭配是集群+镜像。
------解决方案--------------------
1、数据库镜像:
优点是系统能自动发现主服务器故障,并且自动切换至镜像服务器。
缺点是配置复杂,镜像数据库中的数据不可见(在SQL Server Management Studio中,只能看到镜像数据库处于镜像状态,无法进行任何数据库操作,最简单的查询也不行。想眼见为实,看看镜像数据库中的数据是否正确都不行。只 有将镜像数据库切换主数据库才可见)。在故障转移时,任何进行中的客户端事务都将重新启动,而由于在这一过程中仍然存在着延迟,镜像服务器也不能保证百分之百不丢失数据。
2、故障转移集群:
集群技术是微软可用性的最高级形式,它需要你设置一个Windows集群。
在集群中并不会涉及传输以及镜像,取而代之,两台或更多的电脑将会彼此连接在一个共享的外部存储器中,通常是存储区域网络(SAN)。数据库文件就存放在这个共享存储器上,同样设置的SQL Server实例都运行在集群节点上。
缺点:其中一个重要的问题是故障恢复的实现是非常昂贵的。Microsoft只在那些通过Windows Server认证的硬件上才支持故障恢复。 另一个问题是它要求使用共享存储
3、发布与订阅
发布服务器定时向订阅服务器传递数据,如果订阅服务器数据有过修改写入,传递数据后订阅服务器上的修改写入全部丢失,全部以分布服务器为准。
或者使用可更新订阅的事务性发布,发布服务器和订阅服务器可以独立修改写入数据,会定时合并
------解决方案--------------------
發布訂閱可以用來做數據庫負載均衡,可以把訂閱數據庫作為只讀庫,報表服務器什麽的,但是不能實現故障轉移
用鏡像或者日誌傳送可以做故障轉移的 ,用鏡像是不錯的選擇,配置方法網上都有;不過要實現自動轉移的話,一定要配置監視服務器