第15学时实施复制
在前面的几学时中,我已经讨论了创建复制的所有计划。在本学时中,你将看到创建复
制的所有细节。在你创建复制后,会想要监视它,并且保证它能正确地进行。在本学时的最
后部分将学习监视复制。
本学时的要点包括:
• 创建复制
• 监视复制
15.1 创建复制
幸运的是SQL Sever 7.0的复制要比SQL Sever 6.5的设置和运行容易得多。这是因为微软
公司增加了大量的向导来帮助你创建复制。在你深入了解不同的向导前,必须先明白创建复
制必须经历的顺序和步骤。这些步骤总结如下:
1) 创建或激活一个分发服务器。
2) 创建一个出版物并定义出版物上的文章。
3) 定义订阅服务器并订阅一种出版物。
15.1.1 激活出版
在创建一个出版服务器之前,你必须指派一个分发服务器供出版服务器使用。你可以设
定本地服务器或选择一台远程服务器作为分发服务器。可以用两种方式之一创建分发服务器。
首先,可以设定一台服务器同时作为分发服务器和出版服务器,或者设定这台服务器作为专
门的分发服务器。可以使用Configure Publishing and Subscribers Wi z a r d来完成这些。使用下
列步骤设定一台服务器作为分发服务器:
1) 在SQL Enterprise Manager中,连接你要设置为分发服务器的服务器。从“ To o l s”菜单
中,选择“ R e p l i c a t i o n”,然后选择“ Configure Publishing and Subscribers ”。这将打开
Configure Publishing and Distribution Wi z a r d,如图1 5 - 1所示。
图15-1 Configure Publishing
and Distribution
Wi z a r d
2) 在简介屏幕上,选择“ N e x t”按钮。
3) 在如图1 5 - 2所示的“ Choose Distributor”屏中,提示你要么将本地服务器设置为分发
服务器,要么选择一台远程分发服务器。在本例中,我假设你要设置本地服务器为一个新的
分发服务器。如果你已经创建了一个分发服务器,选择该服务器用来与你将要创建的出版服
务器一起工作。点击“ N e x t”钮后,SQL Server将校验当前正在运行的相关帐号。如果S Q L
S e r v e r运行在L o c a l S y s t e m帐号下,你将不能执行多站点复制。这是因为L o c a l S y s t e m帐号不能
访问网络资源。
4) 在如图1 5 - 3所示的“ Use Default Configuration”屏中,你可以选择使用默认的设置或
者选择定制自己的选项。我将在列表中设定我自己的选项。
5) 下一屏是“ Provide Distribution Database Information”屏,如图1 5 - 4所示。它让你选择
分发数据库的名字和文件的位置。
第1 5学时实施复制1 3 1
下载
图15-2 “Choose Distributor”
屏幕
图15-3 “Use Default Conf
i g u r a t i o n”屏幕
图15-4 “Provide Distribution
Database
I n f o r m a t i o n”屏幕
6) “Enable Publishers”屏,如图1 5 - 5所示。它让你设置出版服务器,而这个出版服务器
可使用你现在正在设置的订阅服务器。如果你点击出版服务器名称后面带有省略号( . . . )的按钮,
将会进入“ Server Properties”屏,如图1 5 - 6所示。你能够选择有关出版服务器的特殊选项。
在此屏,你还可以选择分发代理使用哪个帐号登录到出版服务器。
7) 在“Enable Publication Databases”屏(如图1 5 - 7所示)中,你可以选择窗口中显示的任
一个用户数据库来进行事务或合并复制。如果你设置这个服务器只是作为分发服务器,不要
选择这些数据库。
8) 在下一屏“ Enable Subscribers”屏(如图1 5 - 8所示)中,你可以选择哪些服务器可以连接
到这个服务器上。如果你点击后面带有省略号( . . . )的订阅服务器名称,你可以设置有关订阅服
务器的特殊选项。在“ G e n e r a l”分页,你可以指定用来连接到订阅服务器的帐号。在
1 3 2 SQL Server 7 24学时教程
下载
图15-5 “ Enable Publis
h e r s”屏幕
图15-6 “Server Properti
e s”屏幕
图15-7 “ Enable Publication
Databases”
屏幕
“S c h e d u l e s”分页,你可以选择分发和合并代理运行的时间。缺省情况下,它们都被设定为一
直运行下去。
9) 最后一屏是总结屏,如图1 5 - 9所示。它为你提供设置出版服务器和订阅服务器步骤的
总结。
15.1.2 创建出版物
现在分发数据库已经建立,而且可以在服务器上进行出版,下一步你需要为订阅服务器
创建和设置一份出版物以供连接。你可以使用Create and Manage Publications Wi z a r d来完成。
为了使用这个向导,你必须是s y s a d m i n服务器角色的成员。下面的步骤将引导你创建一份新
的出版物:
1) 在SQL Enterprise Manager中,连接你要作为分发服务器来设置的服务器。从“ To o l s”
菜单中选择“ R e p l i c a t i o n”,然后再选择“ Create and Manage Publications”。这将打开C r e a t e
and Manage Publications Wi z a r d,如图1 5 - 1 0所示。
第1 5学时实施复制1 3 3
下载
图15-8 “Enable Subscrib
e r s”屏幕
图15-9 最后的总结屏幕
图15-10 Create and Manage
Publications
Wi z a r d
2) 在第一屏中,将提示你选择在哪个数据库中创建出版物。这里列出的数据库是你设置
复制时选择的数据库。选择数据库并点击“ Create Publication”按钮。
3) 下一屏是一个简介屏,上面概括了创建出版物需要的步骤。点击“ N e x t”按钮。
4) 下一屏,称为“ Choose Publication Ty p e”屏,如图1 5 - 11所示。它让你为你使用的出
版物选择复制类型。显示出来的类型基于你在Configure Publishing and Subscribers Wi z a r d中
所选的。
5) 如果你选择快照或事务复制,那么下一屏将会是“Allow Immediate-Updating Subscribers”
屏,如图1 5 - 1 2所示。你可以设置是否允许订阅服务器立即更新。否则,将跳到下一步。
6) 下一屏是“Specify Subscriber Ty p e s”屏,如图1 5 - 1 3所示。它让你选择什么类型的订
阅服务器将连接到这个服务器上。如果连接到这个服务器上的是不运行SQL Server 的服务器,
确保你选择这个选项。
1 3 4 SQL Server 7 24学时教程
下载
图1 5 - 11 “Choose Publication
Ty p e”屏幕
图15-12 “Allow Immediate-
Updating Subscri
b e r s”屏幕
图15-13 “Specify Subscriber
Ty p e s”屏幕
7) 下一屏是“ Specify Articles”屏,如图1 5 - 1 4所示。它将提示你在出版物中创建文章。
你的出版物中至少必须包含一个文章。在你选择一个文章后,一个带有省略号( . . . )的按钮将会
出现在该文章名字后面。对快照和事务复制来说,你可以决定快照复制部分怎样进行。如果
选择了合并复制,你将能选择要用到的冲突调解器。你可以选择默认的SQL Server调解器或
者创建你自己的存储过程或C O M对象。有关创建一个定制的冲突调解器的更多信息,你可以
到SQL Server Books Online中查找“Using a Custom Resolver”。
8) 下一屏“Choose Publication Name and Description”屏如图1 5 - 1 5所示。在其中你可以
设置出版物的名字并提供一个说明。
9) 下一屏“Use Default Properties of the Publication”屏如图1 5 - 1 6所示。它询问你是否想
定义数据过滤器、允许匿名订阅或定制其他属性。如果你选择不想定义,在下一屏你就可以
完成这份出版物了。
第1 5学时实施复制1 3 5
下载
图15-14 “Specify Articles”
屏幕
图15-15 “Choose Publication
Name and
D e s c r i p t i o n”屏
幕
图15-16 “ Use Default
Properties of the
P u b l i c a t i o n”屏
幕
10) 如果你选择进一步定制你的出版物,下一屏是图1 5 - 1 7所示的“Filter Data”屏,它将
询问你是否想要过滤数据。如果你选择否,你将跳过以下两步。
11) 如果你选择要过滤数据,下一屏是如图1 5 - 1 8所示的“Filter Table Columns”屏,一个
出版物中所有文章和其中所含的列的清单将出现在你面前。你可以选择要出版的列,而不是
出版整个表。
12) 下一屏是如图1 5 - 1 9所示的“Filter Table Rows”屏,它提示你为每个文章过滤独立的
行。如果按下带有省略号( . . . )的按钮,将向你询问过滤条件。例如,如果你想从来自某个商店
的表中出版数据,你应该在此框中输入条件。
13) 下一屏“ Allow Anonymous Subscribers”屏如图1 5 - 2 0所示,询问你是否允许匿名订
阅。如果你选择要创建匿名订阅服务器, SQL Server将允许任一个服务器连接上并从你的出
1 3 6 SQL Server 7 24学时教程
下载
图15-17 “Filter Data”屏
幕
图15-18 “Filter Table Colu
m n s”屏幕
图15-19 “ Filter Ta b l e
R o w s”屏幕
版物中接收数据。当你不使用匿名订阅服务器时, SQL Server不会跟踪所有正常的性能数据。
14) 下一屏“ Set Snapshot Agent Schedule”屏如图1 5 - 2 1所示,你可以选择快照发生的频
率。记住创建快照是系统开销很大的处理,应该设置它在一天的非工作时间进行。
15) 最后一屏是总结屏,此屏概括了你所选择的步骤和选项。在你选择“ F i n i s h”按钮后,
SQL Server将会为你创建这份出版物。
15.1.3 创建订阅
到目前为止你已经安装和设置了复制并创建了出版物,下一步是创建订阅。记住你可以
创建两种不同类型的订阅:推式订阅和拉式订阅。推式订阅比较容易创建,因为它的全部订
阅过程是在同一台机器上执行和管理的。拉式订阅则要允许远程站点也能订阅它们想要订阅
的出版物,但是你必须确保另一站点的管理员能在他们的站点上正确地设置订阅。下面的步
骤将引导你创建推式订阅。后一部分将帮助你创建一个拉式订阅。
1) 在SQL Enterprise Manager 里连接到出版服务器。在“ To o l s”菜单中,选择
“R e p l i c a t i o n”,然后选择“Push Subscriptions to Others”选项。这将打开Create and Manage
Publication Wi z a r d,如图1 5 - 2 2所示。
2) Create and Manage Publications Wi z a r d打开后,可以选择你将要推到另一站点的出版物。
选择出版物,然后单击“ Push New Subscription”按钮。这将打开Push Subscription Wi z a r d,
如图1 5 - 2 3所示。
3) 在简介屏之后,在“ Choose Subscriber”对话框中将提示你选择要出版到哪个服务器,
如图1 5 - 2 4所示。
第1 5学时实施复制1 3 7
下载
图15-20 “Allow Anonymous
Subscrib
e r s”屏幕
图15-21 “Set Snapshot
Agent Schedule”
屏幕
4) 下一屏是如图1 5 - 2 5所示的“Choose Destination Database”屏。它将提示你选择要出版
到哪个数据库去。如果单击“ Browse Database”按钮,你会看见目标服务器中所有数据库的
清单。如果你想在目标服务器中创建一个新数据库,单击“ Create New”按钮。
1 3 8 SQL Server 7 24学时教程
下载
图15-22 Create and Manage
Publication
Wi z a r d
图15-23 Push Subscription
W i z a r d
图15-24 “Choose Subscri
b e r”对话框
图15-25 “Choose Destination
Database”
屏幕
5) 如图1 5 - 2 6所示,“Set Distribution Agent Schedule”屏,允许你设置分发代理怎样运行。
如果你要提供最低限度的延迟,单击“ Run Continuously”按钮,否则设置分发代理在每天的
特定时间里运行。缺省状况下,分发代理每天一次运行一小时。
6) 在设置好分发代理何时间运行后,在如图1 5 - 2 7所示的“Initialize Subscription”屏中会
提示你设置数据库结构的初始化。该任务由快照代理完成。向导会自动检测目标数据库的内
容,如果没有表结构的话,会强制性要求你进行初始化。
7) “Start Required Services”屏幕如图1 5 - 2 8所示。检测并查看所要求的服务是否正在目
标服务器中运行。这些服务包括M S S Q L S e r v e r服务和S Q L S e r v e r A g e n t服务。如果它们没在运
行,在进一步操作前需要启动它们。
8) 最后一屏是一个总结屏,它概括了你所选择的选项和SQL Server创建订阅时将执行的
步骤。点击“F i n i s h”按钮,SQL Server将创建订阅。
第1 5学时实施复制1 3 9
下载
图15-26 “Set Distribution
Agent Schedule”
屏幕
图15-27 “Initialize Subs
c r i p t i o n”屏幕
图15-28 “Start Required
S e r v i c e s”屏幕
创建新订阅的另一种选择是在订阅服务器中创建拉式订阅。这将允许远程服务器的管理
员只订阅他们希望收到的出版物。
1) 在SQL Enterprise Manager中连接到出版服务器。从“To o l s”菜单中选择“R e p l i c a t i o n”,
然后选择“Pull Subscription to‘服务器名’”。这将打开一个称为“ Pull Subscription to ‘服
务器名’”的屏幕,如图1 5 - 2 9所示。点击“Pull New Subscription”按钮。
2) Pull Subscription Wi z a r d将会打开,如图1 5 - 3 0所示。一个介绍屏将打开,介绍了创建
一个拉式订阅所需要的操作。
3) 下一屏“Choose Publication”屏如图1 5 - 3 1所示,允许你从任何一个目前已在本服务器
的SQL Enterprise Manager里注册的服务器中选择一个出版物。如果你需要连接到另一台服务
器,选择“Register Server”按钮。在选择服务器名称后,你将得到那个服务器上所有出版物
的一个清单。选择你想要拉出的出版物,并点击“ N e x t”按钮。
4) 在“Specify Synchronization Agent Login”屏(如图1 5 - 3 2所示)中,将提示你键入登录
信息,同步代理将用它来连接出版服务器和订阅服务器。填入正确信息并选择“ N e x t”按
钮。
1 4 0 SQL Server 7 24学时教程
下载
图15-29 “ Pull Subscription
to‘服务器
名’”屏幕
图15-30 Pull Subscription
Wi z a r d
图15-31 “Choose Public
a t i o n”屏幕
5) 如图1 5 - 3 3所示的“ Choose Destination Database”屏提示你选择要出版到哪个数据库。
如果你点击“ Browse database”按钮,可以看到一张目标服务器上所有数据库的清单。如果
你想在目标服务器上创建一个新数据库,点击“ Create New”按钮。
6) “Initialize Subscription”屏如图1 5 - 3 4所示,它让你选择是否初始化数据库结构。如果
你选择是,分发代理将做一份订阅服务器结构和数据的拷贝。
7) 下一屏“ Set Distribution Agent Schedule”屏如图1 5 - 3 5所示。在其中,你可以设置分
发代理怎样运行。如果你想提供最低的延迟,选择“ Run Continuously”。否则,你可以设置
分发代理在一天运行指定的次数。使用拉式订阅有一个新选项可以利用,它允许你根据需要
来同步订阅。缺省情况下,分发代理每天每小时运行一次。
8) “Start Required Services”屏如图1 5 - 3 6所示,它用于检测并查看所要求的服务是否正
在目标服务器上运行。这些服务包括M S S Q L S e r v e r服务和SQLServer Agent服务。如果这些服
第1 5学时实施复制1 4 1
下载
图15-32 “Specify Synchronization
Agent
L o g i n”屏幕
图15-33 “Choose Destination
Database”
屏幕
图15-34 “Initialize Subs
c r i p t i o n”屏幕
务没有运行,在进一步操作之前,你需要启动这些服务。
9) 最后一屏是总结屏,它概括了你选择的选项和SQL Server创建订阅时将要执行时的步
骤。在点击“F i n i s h”按钮后, SQL Server将会创建这个订阅。
现在复制已经建立,剩下的只有等待。
15.2 监视复制
在复制建立并运行后,对你来说,重要的是监视复制并看看它是如何运行的。有几种方法
可以做到这一点,包括使用S Q L语句、SQL Enterprise Monitor或Windows NT Performace Monitor。
15.2.1 SQL语句
监视复制最容易的方法是查看要被复制的实际数据。要做到这一点,简便的方法是运行
一个针对其中的数据正在复制的表的S E L E C T。该表中当前的数据是最新的吗?如果你在被出
版的表中修改数据,这些修改能在复制的表中显示出来吗?如果不能,你需要回头检查一下
复制在服务器上是怎样设置的。
15.2.2 SQL Enterprise Manager
SQL Enterprise Manager提供许多关于复制状态的信息。这可以通过在SQL Enterprise
M a n a g e r里选择Replication Monitor来做到。在Replication Monitor里,文件夹可以用来寻找有
关复制的信息。这些文件夹跟踪有关出版服务器、代理和任何复制触发的警告的信息。
• P u b l i s h e r s—这个文件夹包含有关该机器上的出版服务器的信息。通过选择该机器上的
1 4 2 SQL Server 7 24学时教程
下载
图15-35 “Set Distribution
Agent Schedule”
屏幕
图15-36 “Start Required
S e r v i c e s”屏幕
任何一个出版服务器,你可以浏览任何已经订阅该出版物的计算机的信息。它将告诉你
当前状态和订阅服务器的上一次行为。
• A g e n t s—A g e n t s文件夹包含有关该机器上不同代理的信息。通过选择任何一个代理的
文件夹,你可以看到该代理的当前状况。如果你选择一个代理并双击它,它将显示这个
代理的历史。
• Replication Alerts—Replication Alerts文件夹允许你设置警报以响应在复制过程发生的
事件。当产生错误或响应成功信息时,这些警报被激活。
15.2.3 性能监视
如果你在Windows NT计算机下运行SQL Server,你可以使用Windows NT Performance
M o n i t o r来监视复制策略是否正确地执行。在你安装SQL Server时,它给Performance Monitor
增加了几个新的对象和计数器。
这些新的对象简介如下:
• SQLServer : Replication Agents—该对象包含监视所有复制代理状态的计数器,包括了
正在运行的总共数目。
• SQLServer : Replication Dist.—该对象包含用来监视分发代理状态的计数器,包括延
迟和每秒传输的事务的数目。
• SQLServer : Replication Logreader—该对象包含用来监视日志读者代理状态的计数器,
包括延迟和每秒传输的事务的数目。
• SQLServer : Replication Merg e—该对象包含用来监视合并代理状态的计数器,包括延
迟和每秒传输的事务的数目。
• SQLServer : Replication Snapshot—该对象包含用来监视快照代理状态的计数器,包括
每秒传输的事务的数目。
15.3 课时小结
在本学时中,你学到了如何创建复制。我讲解了安装分发数据库和设置一个服务器用于
出版。之后,你学习了如何建立一个出版物并为订阅做准备。接着,你学习了如何创建推式
和拉式订阅。最后你学习了如何使用不同的工具监视复制。
15.4 专家答疑
问题:我在使用Windows 98的计算机上安装有SQL Server。我能创建一个基于事务的订
阅吗?
解答:不能。SQL Server桌面版出版完整的合并和快照复制。它只能订阅到事务复制。
15.5 课外作业
这些思考题和练习题是供你加深理解用的。答案可以在附录“答案”中找到。
15.5.1 思考题
1) 设置复制时,你必须定义的第一件事是什么?
第1 5学时实施复制1 4 3
下载
2) 为安装和设置复制,你必须成为什么角色的一员?
3) 当你在使用Windows NT的计算机上安装复制时,可以使用什么办法来监视该复制的过
程?
4) 当你在使用Windows 95/98的计算机上安装复制时,可以使用什么监视手段?
5) 何种订阅在客户机上创建?
6) 何种订阅在服务器上创建?
7) 当设置一个订阅时,你应该为复制代理设置怎样的日程安排来达到最低的延迟。
15.5.2 练习题
创建一个事务复制策略,向另一个数据库复制p u b s数据库的a u t h o r s表。当设置好以后,
使用本地服务器作为分发服务器。
阅读(431) | 评论(0) | 转发(0) |