测试sql server 2008 Mirror+log shipping+replication 同时存在,并故障转移后,log shipping 和 replication不受影响,可继续使用



试验环境:VMware + Windows2003 中文企业版 + sql server 2008 中文企业版
共用了7台虚拟机:
域控机
共享备份机(存放主库log shipping备份日志文件)
主服务器
镜像服务器
分发服务器
log shipping服务器
订阅服务器


在我的个人老PC上 : AMD 2000+、1.5G内存、80G 5400转硬盘 安装的虚拟机
我的PC cpu一直在100%,相当的累。
对虚拟机的操作,我通过另外一台笔记本SQL Server Management Studio连接操作,因为在我PC上操作,基本慢到不可以忍受。

关键点:
1.若要使日志传送在数据库镜像故障转移后仍能继续进行,还必须使用主体数据库上用于主服务器的配置将镜像服务器配置为主服务器。
这个可以直接在原库右健属性的日志传送界面生成代码,到镜像服务器上不需要修改,直接执行,注意:只执行主服务器上的那段代码,并且不要在log shipping服务器上再进行任何操作。
2.若要使发布订阅在数据库镜像故障转移后仍能继续进行,需要在发布订阅代理上设置故障转移参数(我用的是事务发布,在我的环境中只配置了前两个):

    指定 –PublisherFailoverPartner 代理参数的镜像名称。下列代理在故障转移后需要使用此代理参数来标识镜像:   
        * 快照代理(对于所有发布)
        * 日志读取器代理(对于所有事务发布)
        * 队列读取器代理(对于支持排队更新订阅的事务发布)
        * 合并代理(对于合并订阅)
        * SQL Server 复制侦听器(replisapi.dll:用于使用 Web 同步进行同步的合并订阅)
        * SQL 合并 ActiveX 控件(对于与控件同步的合并订阅)
    分发代理和分发 ActiveX 控件没有此参数,因为它们不连接到发布服务器。    对代理参数所做的更改在下次启动代理时生效。如果代理连续运行,则必须停止该代理,然后重新启动。可以在代理配置文件中和从命令提示符指定参数。

参考文档:
    1.数据库镜像和日志传送
    http://msdn.microsoft.com/zh-cn/library/ms187016.aspx
    2.复制和数据库镜像
    http://msdn.microsoft.com/zh-cn/library/ms151799.aspx


作者:nzperfect
出处:http://www.cnblogs.com/nzperfect/
引用或者转载本BLOG的文章请注明原作者和出处,并保留原文章中的版权信息。

原文地址:https://www.cnblogs.com/nzperfect/p/1552739.html