实验原理图

SQLServer2005数据库对等复制实验【庆祝本人博客开通】

 

实验拓扑图

SQLServer2005数据库对等复制实验【庆祝本人博客开通】

1. 试验前准备

1.1. 虚拟机实验环境准备

1.1.1. 虚拟机配置部分

1.1.1.1. 三台虚拟机,分别为VM-1,VM-2和whbenet,为每台虚拟机新添加一块网卡,每台虚拟机的所有网卡全部桥接到所在真机的物理网卡上。

1.1.2. IP部分和MAC部分

SQLServer2005数据库对等复制实验【庆祝本人博客开通】

说明

MAC地址部分的*代表对应IP的后两位,不足两位用0填充

1.1.3. 主机名

1.1.3.1. 因为机房的机器的主机名都是相同的,所以先修改一下主机名,推荐使用NEWSID这个程序,能够顺便把SID也改一下。

1.2. 数据库准备

1.2.1. 主机名

1.2.1.1. 即使在系统中修改了计算机名,可能还是会发生因为两台服务器的计算机名相同而导致无法新建发布的错误,如果遇到这种问题,我们需要同步主机名记录。具体操作如下(转自杜飞-的博客,详情见杜总博文http://dufei.blog.51cto.com/382644/84645):

1.2.1.2. 先登录到有问题的SQLServer2005服务器上,在MASTER数据库上新建查询,然后输入一下代码,

if serverproperty('servername') <> @@servername

begin

declare @server sysname

set @server = @@servername

exec sp_dropserver @server = @server

set @server = cast(serverproperty('servername') as sysname)

exec sp_addserver @server = @server, @local = 'LOCAL'

end

按F5执行,然后重启SQLServer服务和SQLServer代理服务。

1.2.2. 样例数据库

1.2.2.1. 准备一个样例数据库,为实验做准备,或使用随本文档附带的data.mdb这个数据库文件,使用时将其导入即可。

1.2.3. 初始发布和分发模式

1.2.3.1. 在每台SQLServer服务器上都做禁止发布和分发操作。此操作目的在于将所有数据库实例的发布状态清除。这一部非常重要,是配置发布菜单出现的前提,如果你使用的虚拟机在本实验之前已经做过类似于数据库复制的实验的话,则在试验开始之前必须要求在每一台服务器上去做这样的操作。具体操作步骤如下:

在相应的服务器的对象资源管理器当中展开服务器实例,在复制选项卡上单击右键,选择禁用发布和分发服务器

1.3. 每台机器的SQLServer代理服务确认开启,默认是关闭的。

1.4. 每台机器的SQLServer代理服务确认开启,默认是关闭的。

1. 为每个节点配置分发

1.1. 在 Microsoft SQL Server Management Studio 中连接到 VM-1(必须对 VM-2 和 WHU-221\WHBENET 重复此配置过程)。

1.2. 展开服务器节点,右键单击“复制”文件夹,再单击“配置分发”。

1.3. 在配置分发向导的“分发服务器”页上,选择分发服务器。

1.4. 在“快照文件夹”页上,指定快照文件夹

1.5. 在“分发数据库”页上,指定分发数据库的名称(不要求与另外的服务器中的分发数据库同名)

1.6. 在“发布服务器”页上,根据需要启用其他发布服务器将 VM-1 用作远程分发服务器

2. 在第一个节点上创建发布

2.1. 在 SQL Server Management Studio 中连接到 VM-1,然后展开服务器节点。

2.2. 展开“复制”文件夹,再右键单击“本地发布”文件夹。

2.3. 单击“新建发布”。

2.4. 在新建发布向导的“发布数据库”页上,选择要发布的数据库

2.5. 在“发布类型”页上,选择“事务性发布”。

2.6. 在“项目”页上,选择要发布的数据库对象。

l 单击“项目属性”,查看并修改项目属性。下列属性不能更改:

l 目标对象名称

l 目标对象所有者

2.7. 不能在“筛选表行”页上定义筛选器;不支持筛选对等发布。

2.8. 在“快照代理”页上,清除“立即创建快照”。

2.9. 在“代理安全性”页上,指定快照代理和日志读取器代理的凭据

2.10. 在“完成该向导”页中,为发布指定名称。发布名称在整个拓扑上必须一致,这样配置对等拓扑向导在每个节点上创建发布时就可以使用此名称。

3. 为对等复制启用发布

3.1. 展开 Vm-1 上的“复制”文件夹,然后展开“本地发布”文件夹。

3.2. 右键单击创建的发布,再单击“属性”。

3.3. 在“发布属性 - <发布>”对话框中的“订阅选项”页上,为“允许对等订阅”属性选择 True 值

3.4. 单击“确定”

4. 初始化每个节点上的架构和数据

l 可按以下方法之一初始化对等方:

4.1. 手动。使用 Integration Services (SSIS)、脚本或其他方法将vm-1上的架构和数据复制到 vm-2 和 whu-221\whbenet。在将 Vm-2 和 Whu-221\whbenet 配置为对等方之前,请确保这些服务器上的架构和数据与vm-1上的架构和数据相同。

4.2. 通过将 Vm-1 上的发布数据库备份还原到 vm-2 和 whu-221\whbenet。

5. 在初始化配置过程中向拓扑中添加节点

5.1. 右键单击在 Vm-1 上创建的发布,再单击“配置对等拓扑”。可能需要刷新发布节点才能看到“配置对等拓扑”选项。

5.2. 在配置对等拓扑向导的“发布”页上,将选中在 Vm-1 上所创建的发布。

5.3. 在“对等方”页上,添加 Vm-2,然后对 Whu-221\whbenet 重复此过程:

5.3.1. 单击“添加 SQL Server”。

5.3.2. 连接到“连接到服务器”对话框中指定的 Vm-2。Vm-2 即显示在“对等服务器实例”列中。

5.3.3. 从“对等数据库”菜单中选择 Vm-2 上的数据库。

l 注意: Vm-1 也将显示,但它已进行过配置,因此不要选中 Vm-1 的复选框。

5.4. 在“日志读取器代理安全性”页上,为每个节点上的日志读取器代理指定凭据。

5.5. 在“分发代理安全性”页上,为分发代理(为每个节点的订阅提供服务)指定凭据。

l 配置对等拓扑向导创建推送订阅(分发代理在分发服务器上运行),每个订阅都有一个独立的代理。在三节点拓扑中,每个节点都有其他两个节点的订阅,因此每台分发服务器上都会运行两个分发代理。

5.6. 在“新对等方初始化”页上,选择“我手动创建了对等数据库或还原了原始发布数据库的备份,该发布数据库自这次备份以来不曾发生更改”。

完成向导。在“正在生成对等拓扑”页上,发出警告,指示已有 Vm-1 的日志读取器。这是信息性警告,无需执行任何操作。

 

常见错误

故障一:.SQLServer2005数据库对等复制实验【庆祝本人博客开通】

原因分析:因为对等复制需要在参与复制的每个节点上做分发,所以当一台没有被分发的服务器被选作对等体时,便会出现如图所示的提示。

解决方法:将所选服务器配置成分发服务器。具体步骤如下:

a) 打开SSMS,链接到相应服务器的资源对象管理器上

b) 展开服务器列表,找到复制文件夹,右键单击复制。

c) 在配置分发向导的“分发服务器”页上,选择分发服务器。

d) 在“快照文件夹”页上,指定快照文件夹

e) 在“分发数据库”页上,指定分发数据库的名称

f) 在“发布服务器”页上,将 服务器 用作远程分发服务器