本主题介绍如何配置和使用配置对等拓扑向导维护对等复制拓扑。 首先,主题演示如何使用的向导创建三个节点拓扑,然后介绍如何添加和删除节点和节点之间的连接。 SQL Server 2008 与更高版本 SQL Server 的节点可以添加和连接时在系统中正在发生的活动。 如果一个拓扑包含 SQL Server 2005 的节点,您可以连接到一个现有的节点的一个新的节点,但您必须连接到多个节点系统静止。  暂停操作的系统涉及到已发布的表,在所有节点上停止活动,并确保每个节点已收到的所有其他节点的所有更改。 在本主题的最后一节中详细描述了此过程。
以下步骤将概述如何创建具有三个节点拓扑: 服务器 A服务器 B服务器 C 在本部分中更详细地介绍了每个步骤。
  1. 请确保 SQL Server 代理是每个节点上运行和配置拓扑后运行日志读取器代理和分发代理。 有关 SQL Server 代理的信息请参阅 启动 SQL Server 代理 ; 有关如何启动和停止代理的信息,请参阅 如何: 启动和停止复制代理 (SQL Server Management Studio)
  2. 服务器 A服务器 B服务器 C 配置分发。
    您可以使用本地或远程分发服务器。 如果您使用远程分发服务器,我们建议您不要使用相同的远程分发服务器的所有的节点因为这可能是一个单点故障。 有关分发服务器的详细信息,请参阅 复制发布模型概述
  3. 使用新建发布向导在 服务器 A 创建发布。
  4. 通过使用 发布属性-<Publication> 对话框中启用为对等复制发布。
  5. 初始化架构和 服务器 B服务器 C 上的数据,手动或通过将在 服务器 A 的数据库还原到 服务器 B服务器 C 架构在所有节点都必须是相同的。
  6. 通过使用配置对等拓扑向导,可以向该拓扑中添加 服务器 B服务器 C 添加服务器: 在每个服务器 ; 创建一个发布和创建该拓扑中的其他服务器上的发布的订阅。
    如果已发布的表中有任何标识列,你必须重新设定种子 服务器 B服务器 C 表的标识的范围。

若要配置的每个节点的分布

  1. 在 SQL Server Management Studio 中连接到 服务器 A。  服务器 B服务器 C,必须重复此配置过程。
  2. 展开服务器节点,右键单击 复制 文件夹,然后单击 配置分发
  3. 在配置分发向导的 分发服务器 页上选择分发服务器。
    要使用本地分发服务器,请选择 '<ServerName> ' 将充当自己的分发服务器,SQL Server 将创建分发数据库和日志 要使用远程分发服务器,选择 使用以下服务器作为分发服务器,然后选择一个服务器。 必须已将该服务器配置作为一个的分发服务器和发布服务器必须启用要使用的分发服务器。 更多的信息请参阅 如何: 启用远程发布服务器,分发服务器 (SQL Server Management Studio)
    如果选择了一个远程分发服务器必须从 Server A 连接到分发服务器 管理密码 页上输入一个密码。 此密码必须与 服务器 A 启用为发布服务器在远程分发服务器时所指定的密码相匹配。
  4. 快照文件夹 页上指定快照文件夹。
    快照文件夹是只是一个已指定为一个共享的目录。 读取和写入到此文件夹的代理必须有足够的权限来访问它。 此目录存储所需的第一个节点上的复制的对象。 此目录不使用对等复制在了其他的节点,但仍需要配置分发服务器。 有关如何适当地保护文件夹的详细信息,请参阅 保护快照文件夹的安全
  5. 分发数据库 页上指定一个分发数据库的名称。
    分发数据库存储事务、 元数据和历史记录数据。
  6. 发布服务器 页上,选择启用其他发布服务器使用远程分发服务器, 服务器 A
    如果其他发布服务器能够使用作为远程分发服务器的 服务器 A,必须从发布服务器连接到分发服务器, 分发服务器密码 页上输入密码。
  7. 在向导操作页上可以编写脚本配置设置。 更多的信息,请参阅 编写复制脚本

在第一个节点中创建出版物

  1. 在 SQL Server Management Studio 中连接到 服务器 A,然后展开服务器节点。
  2. 展开 复制 文件夹,然后右键单击 本地发布 文件夹。
  3. 单击 新建发布
  4. 在新建发布向导的 发布数据库 页上选择您想要发布的数据库。
  5. 发布类型 页上选择 事务性发布
  6. 项目 页上选择您想要发布的数据库对象。
    单击 项目属性,可以查看和修改项目属性。 不应更改以下属性:
    • 目标对象名称
    • 目标对象所有者
    • <ACTION> 传递格式 选项 (其中,操作是 INSERT、 UPDATE 或 DELETE) 的情况下,不能设置为 <ACTION> 语句没有列列表的 <ACTION> 语句
  7. 由于筛选对等发布不支持,也不能在 筛选表行 页上定义筛选器。
  8. 快照代理 页上清除 创建快照立即
  9. 代理安全性 页上指定快照代理和日志读取器代理的凭据。
    有关每个代理所需权限的详细信息,请参阅 复制代理安全性模式复制安全最佳实践
  10. 向导操作 页上,可以编写发布脚本。 更多的信息,请参阅 编写复制脚本
  11. 完成向导 页上指定发布的名称。 发布名称必须是相同跨所的拓扑因为它在每个节点创建发布时,配置对等拓扑向导将使用此名称。

要启用对等复制的发布

  1. 展开 服务器 A 上的 复制 文件夹,然后展开 本地发布 文件夹。
  2. 右键单击您所创建的该发布,然后单击 属性
  3. 发布属性-<Publication> 对话框的 订阅选项 页上选择 允许对等订阅 属性的 true 值。
  4. 单击确定。

初始化架构和数据在每个节点

  • 初始化 服务器 B服务器 C 以下方法之一:
    • 手动复制架构和数据从 Server A 服务器 B服务器 C 使用 Integration Services (SSIS)、 脚本或另一种方法。 确保您作为同位配置这些服务器之前都一样,于 Server A 架构和 服务器 B服务器 C 上的数据。
    • 拓扑配置之前,必须存在于每个节点上初始数据。 使用 SQL Server 备份和还原初始化为在拓扑中的每个节点的发布数据的功能。 备份应来自第一个节点在配置 ; 在此情况下,服务器 A 创建和为对等复制启用了发布 服务器 A 之后,必须执行该备份。 本主题假定任何新节点上发生没有活动之前将所有节点都添加 ; 因此您可以使用相同的备份来初始化每个节点。
      如果之前所有节点都将都添加上任何新节点发生活动,必须在每个节点已都添加,并已与 服务器 A 至少一次同步后采取新的备份。 这可以确保从 Server A 备份包含有关所有其他节点的元数据。 如果您添加 服务器 B服务器 C 与这些节点上活动的示例为: 初始化 服务器 BServer A 备份 ; 配置和同步 服务器 B ; 进行新的备份,从 Server A ; 初始化 服务器 C 用新的备份 ; 并配置和同步 服务器 C
      有关如何备份和还原的详细信息数据库,请参阅 备份和还原在 SQL Server 中的数据库
      Important重要
      还原数据库时,并没有指定 KEEP_REPLICATION 选项 (TRANSACT-SQL) 或 保留复制设置 选项 (SQL Server Management Studio)。 当您运行配置对等拓扑向导时,复制会相应地配置数据库。
      备份包含整个数据库 ; 它在初始化时,每个对等数据库因此,包含发布数据库的完整副本。 备份可能包含未指定作为项目发布的表。 它是管理员或备份还原后删除任何不需要的对象或数据的应用程序的责任。 在后续的同步数据更改只复制如果他们应用于表指定为文章。

若要配置拓扑

  1. 右键单击发布 服务器 A 上, 创建的然后单击 配置对等拓扑 您可能需要刷新发布节点以查看 配置对等拓扑 选项。
  2. 配置对等拓扑向导的 发布 页上将选择发布 服务器 A 上创建的。
  3. 配置拓扑结构 页面上添加 服务器 B,和 服务器 C,然后重复此过程:
    1. 右键单击设计图面的页面的然后单击 添加一个新的同级节点
    2. 连接到服务器 对话框中连接到 服务器 B
    3. 添加新的对等节点 对话框中选择发布数据库,并选择 连接到所有显示节点 如果启用了冲突检测 (默认) Peer ID 框中指定一个唯一的值,每个节点。 值必须从未有用拓扑中。 已使用的 id 的特定查询 Mspeer_originatorid_history 系统表。 有关冲突检测的详细信息,请参阅 中端到端复制冲突检测
    4. 单击确定。  服务器 B 现在出现在连接到 服务器 A 的设计图面上。 当添加 服务器 C 时,每个节点将连接到其它两个节点。
  4. 日志读取器代理安全性 页上指定在每个节点的日志读取器代理凭据。
    有关权限所需的日志读取器代理的详细信息,请参阅 复制代理安全性模式复制安全最佳实践
  5. 分发代理安全性 页上指定的凭据分发代理该服务为每个节点订阅。
    配置对等拓扑向导创建推送订阅 (在分发代理运行分发服务器的分发) 起,一个独立的代理,为每个订阅。 三节点的拓扑中每个节点会具有在其他两个节点的预订,因此两个分发代理将在每个分发服务器上运行。
    有关分发代理所需权限的详细信息,请参阅 复制代理安全性模式复制安全最佳实践
  6. 新的对等方初始化 页上选择 手动,创建对等数据库或我还原了原始发布数据库的未被更改后进行备份的备份
  7. 完成该向导。 构建端到端拓扑结构 页面上可能会发出一条警告,有关日志读取器或发布 服务器 A 的已存在。 这是提供信息并不需要的操作。
  8. 如果已发布的表中有任何标识列,在恢复后您分配给 服务器 A 上的表的标识范围将还使用 服务器 B服务器 C 上的表中。 您必须使用 DBCC CHECKIDENT 重新设定种子 服务器 B服务器 C,以确保为每个使用不同的范围上的表。
    有关如何管理标识范围的详细信息,请参阅 复制标识列 中的"指定范围的手动标识范围管理"部分。
添加节点的过程,运行 SQL Server 2008 或更高版本到现有拓扑是在初始配置中包括节点相同。  向现有拓扑中添加一个节点,请按照下列步骤:
  1. Server D 配置分发。
  2. 通过将在 服务器 A 的数据库还原到 服务器 D 初始化架构和数据在 服务器 D
  3. 通过使用配置对等拓扑向导向拓扑添加 服务器 D

为新节点配置分发

  • 请参见本主题前面的过程"配置的每个节点,分发"。

初始化新的节点

  • 关于 服务器 D,从 Server A 还原最新的发布数据库的备份。 也可以使用从 服务器 BC 服务器 备份 ; 但是,服务器和数据库必须选择配置对等拓扑向导的 发布 页上添加 服务器 D 时。

将一个节点添加到拓扑

  1. 右键单击发布 服务器 A 上, 创建的然后单击 配置对等拓扑
  2. 配置对等拓扑向导的 发布 页上创建 服务器 A 的发布将被选定。
  3. 配置拓扑结构 页面上您将看到 服务器 A服务器 B服务器 C 在设计图面上。
    1. 右键单击在设计面,然后单击 添加一个新的同级节点
    2. 连接到服务器 对话框中连接到 服务器 D
    3. 添加新的对等节点 对话框中选择发布数据库。
    4. 要创建全部四个节点之间的连接选择 连接到所有显示的节点 如果您想要添加手动在某些节点之间的连接,请确保清除复选框。
    5. 单击确定。
    6. 如果您选择了 连接到所有显示节点 的每个节点将连接到其他三个节点。 如果您清除此复选框,手动添加连接: 右键单击节点,单击 添加一个新的对等连接,然后将连接箭头拖到另一个节点。 重复此过程,为每个要建立 服务器 D 和其他节点之间的连接。
  4. 完成配置对等拓扑向导如本主题前面的步骤所述"于配置了的拓扑"。

若要删除一个节点从拓扑

  1. 配置对等拓扑向导的 配置拓扑结构 页上右键单击一个的节点,然后单击 删除对等节点
  2. 完成配置对等拓扑向导如本主题前面的步骤所述"于配置了的拓扑"。

若要删除该拓扑中的节点之间的连接

  1. 配置对等拓扑向导的 配置拓扑结构 页上右键单击一个节点或在设计面,然后单击 删除对等连接
  2. 完成配置对等拓扑向导如本主题前面的步骤所述"于配置了的拓扑"。
是否多个节点拓扑它可以隐藏一个或多个节点。 请注意您可以添加只会显示在设计图面上的节点之间的连接。

若要隐藏在拓扑中的节点

  1. 配置对等拓扑向导的 配置拓扑结构 页上右键单击一个的节点,然后单击 选择要查看的 Node(s)
  2. 添加/删除客户 对话框中选择要在设计图面中,添加或删除节点。
  3. 单击确定。
本主题介绍、 添加 SQL Server 2005 中的节点和添加一个节点在运行 SQL Server 的更高版本之间的主要区别在如是 SQL Server 2005 要求您来停止系统就可以连接到现有的所有节点的新节点。 以下一系列的过程显示如何将 SQL Server 2005 的节点添加到现有拓扑,分阶段:
  • 第一阶段涉及部分连接到该拓扑 服务器 D 创建订阅 服务器 A服务器 D 之间。 这允许继续 服务器 A服务器 B服务器 C 上发生更改。 一旦 服务器 A服务器 D 之间产生了该订阅,就可以开始在 服务器 D 的更改。 服务器 B服务器 C 的更改将复制到 服务器 D 通过 服务器 A
  • 二阶段涉及完全连接到该拓扑 服务器 D 创建订阅 服务器 B服务器 D,与 服务器 D服务器 C 之间。 对于这一阶段必须停止系统。
    第二阶段无须,但它提供了更多的容错能力,比只之间有一个单一连接 服务器 A服务器 D