场景:
主服务器:Server1
从服务器:Server2
订阅服务器: Server3
镜像DB: RepDB
配置:
1>配置SERVER3为分发服务器,在Server3上指定发布服务器SERVER1和SERVER2
2>在SERVER1和SERVER2上配置订阅服务器为Server3,并制定相同的快照文件夹
3>如果需要建立多种类型的复制,需要在SERVER1上运行
exec sp_replicationdboption @dbname='<PublicationDatabase>', @optname='publish', @value=true
exec sp_replicationdboption @dbname='<PublicationDatabase>', @optname='mergepublish', @value=true
4>为下列代理设置–PublisherFailoverPartner
快照代理(对于所有发布)
日志读取器代理(对于所有事务发布)
队列读取器代理(对于支持排队更新订阅的事务发布)
合并代理(对于合并订阅)
SQL Server 复制侦听器(replisapi.dll:用于使用 Web 同步进行同步的合并订阅)
SQL 合并 ActiveX 控件(对于与控件同步的合并订阅)
 
 
删除镜像后的维护
1>如果移除镜像数据库,复制继续在住数据库上运行,则无需做任何设置
2>如果移除主数据库,复制在镜像数据库上运行,则建议重新搭建复制

可以使用一下脚本来设置publisherfailoverpartner
DECLARE @publisherfailoverpartner NVARCHAR(30)
SET @publisherfailoverpartner='@publisherfailoverpartner'
IF @publisherfailoverpartner='@publisherfailoverpartner'
BEGIN
PRINT 'Please change the value of @publisherfailoverpartner'
RETURN
END

DROP TABLE #profiles
CREATE TABLE #profiles (
profile_id INT,
profile_name sysname,
agent_type INT,
[TYPE] INT,
description VARCHAR(3000),
def_profile BIT)
--snapshot agent
INSERT INTO #profiles (profile_id, profile_name,
agent_type, [TYPE],description, def_profile)
EXEC sp_help_agent_profile @agent_type = 1;
--log reader agent
INSERT INTO #profiles (profile_id, profile_name,
agent_type, [TYPE],description, def_profile)
EXEC sp_help_agent_profile @agent_type = 2;
--Replication Merge Agent
INSERT INTO #profiles (profile_id, profile_name,
agent_type, [TYPE],description, def_profile)
EXEC sp_help_agent_profile @agent_type = 4;
--Replication Queue Reader Agent
INSERT INTO #profiles (profile_id, profile_name,
agent_type, [TYPE],description, def_profile)
EXEC sp_help_agent_profile @agent_type = 9;

--add parameter PublisherFailoverPartner
SELECT 'exec sp_add_agent_parameter @profile_id='+CAST(profile_id AS VARCHAR(10))+', @parameter_name=publisherfailoverpartner,@parameter_value=['+@publisherfailoverpartner+']' FROM #profiles WHERE def_profile=1
--check the result
SELECT 'exec sp_help_agent_parameter @profile_id='+CAST(profile_id AS VARCHAR(10)) FROM #profiles WHERE def_profile=1

参考:
http://www.cnblogs.com/stswordman/archive/2011/04/22/2024544.html

Replication--镜像+复制的更多相关文章

  1. replication set复制集

    replication set复制集  介绍 replicattion set 多台服务器维护相同的数据副本,提高服务器的可用性,总结下来有以下好处: 数据备份与恢复 读写分离 MongoDB 复制集 ...

  2. 17.1.1 How to Set Up Replication 设置复制:

    17.1.1 How to Set Up Replication 设置复制: 17.1.1.1 Setting the Replication Master Configuration 17.1.1. ...

  3. 17.1 Replication Configuration 复制配置

    17.1 Replication Configuration 复制配置 17.1.1 How to Set Up Replication 17.1.2 Replication Formats 17.1 ...

  4. Advanced Replication同步复制实验(基于Trigger&基于Materialized View)

    1. 高级复制和流复制介绍 1.1 高级复制(Advanced Replication) 高级复制也称为对称复制,分为多主体站点复制(Multiple Master Rplication).物化视图站 ...

  5. 17.1.2?Replication Formats 复制格式:

    17.1.2?Replication Formats 复制格式: 17.1.2.1 Advantages and Disadvantages of Statement-Based and Row-Ba ...

  6. 17.2?Replication Implementation 复制实施:

    17.2?Replication Implementation 复制实施: 17.2.1 Replication Implementation Details 17.2.2 Replication R ...

  7. 17.1 Replication Configuration 复制:

    17.1 Replication Configuration 复制: 17.1.1 How to Set Up Replication 17.1.2 Replication Formats 17.1. ...

  8. python Tricks —— list 镜像复制与 list comprehension 列表解析的顺序

    0. 对 list 镜像复制,a = [1, 2, 3] ⇒ [1, 2, 3, 3, 2, 1] a*2 ⇒ a = [1, 2, 3, 1, 2, 3] a.extend(reversed(a)) ...

  9. SQLServer 数据库镜像+复制方案

    目标: 主机做了Mirror和Replication,当主机出现问题时,Replication和Mirror实现自动的故障转移(Mirror 和Replication都切换到备机,而当主机 重新启动后 ...

  10. SQLServer 数据库镜像+复制切换方案

    目标: 主机做了Mirror和Replication,当主机出现问题时,Replication和Mirror实现自动的故障转移(Mirror 和Replication都切换到备机,而当主机 重新启动后 ...

随机推荐

  1. C# 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke [问题点数:40分

    注意:  this.DateTimeRun = true;            new Thread(jishi_kernel).Start(); 线程的启动,不能放在    public Form ...

  2. 用python3判断一个字符串 包含 中文

    在python中一个汉字算一个字符,一个英文字母算一个字符 用 ord() 函数判断单个字符的unicode编码是否大于255即可. s = '我xx们的88工作和生rr活168' n = 0 for ...

  3. Thread(线程)三

    今天我们继续接着线程讲讲,上一章提到一下task概念, 首先接着task继续往下讲,在前章节提到过Thread怎么实现其他线程完成后再让主线程继续执行的功能,那么如果Task也需要线程等待事件,该怎么 ...

  4. #define中 #与##的神奇用法

    本文整理自csdn. #define f(a,b) a##b  #define d(a) #a  #define s(a) d(a)  void main( void )  {      puts(d ...

  5. spring中bean 的属性id与name

  6. 网络编程基础之C/S架构和TCP/IP协议

    一.何谓C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),既然我们的的标题是网络编程基础, 那我们就一起来学习怎样写一个C/S架构的软件,实现服务端与客户端软件基于网 ...

  7. java 项目的jar 反编译后 压缩回去 命令

    jar -cvfm0 123.jar    META-INF\MANIFEST.MF(配置文件第一个位置) BOOT-INF org

  8. java算法 第七届 蓝桥杯B组(题+答案) 9.取球博弈

    9.取球博弈  (程序设计) 两个人玩取球的游戏.一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目.如果无法继续取球,则游戏结束.此时,持有奇数个球的一方获胜.如果两人都是 ...

  9. linux:alias

    linux系统下常用一个“命令”ll,它实质上是一个别名,而非命令. 我们用它的前提是,在~/.bashrc文件里打开,默认有条记录: #alias ll=’ls -l’ 这就是别名的格式.把注释去掉 ...

  10. 解剖Nginx·自动脚本篇(1)解析配置选项脚本 auto/options

    在安装Nginx之前(即运行make脚本之前),首先是进行安装的配置准备,包括环境检查及生成文件.这些工作是由自动脚本完成的.和绝大多数软件一样,Nginx的自动脚本的入口,同样是名为configur ...