其它代理程序 。 3. 虽然代理程序通常不需要被手动启动或停止,但需要时可使用 复写监视器 来执行。如果复写系统并未依照设定执行,很可能是由于使用预设的选项而没有立即启动快照集代理程序。(这就是为什么之前在设定过程中我们建议选择立刻执行初始快照集)。在 Enterprise Manager 中按一下代理程序数据夹,检查代理程序的状态,并在右方窗格中检示有关代理程序的信息,如图28-24 所示。这里可以决定是否执行某个代理程序,也可以看到是否该代理程序正在使用中。当启动了某个代理程序,代理程序会执行直到任务完成,然后停止作业。接者,SQL Server 代理程序会依排程复写代理程序。 图28-24 Enterprise Manager 中的合并代理程序 4. 在代理程序中按右钮呼叫快捷菜单,在这里有几个可以提供监控和管理代理程序的选项,如图28-25 所示。 这些选项的简介如下: o 错误详细数据 :列出所有曾经发生的错误清单。 o 代理程序历程记录 :列出代理程序活动。 o 代理程序属性 :让您修改复写代理程序的排程、数据库存取方式、代理程序的步骤,以及作业完成后的执行动作,例如可以选择让系统以电子邮件通知您代理程序执行事件的完成。 o 代理程序设定文件 :可以检视及修改代理程序参数,例如登入逾时断线时间、批次操作大小,以及查询逾时断线时间的设定等。 o 在订阅者端执行代理程序 :可指定在订阅者执行代理程序。 o 在散发者端执行代理程序 :可指定在散发者执行代理程序。 o 启动代理程序与停止代理程序 :可以启动或停止代理程序。 o 重新整理速度和设定值 :可以修改重新整理执行监控数据的频率。 o 选取字段 :可以指定结果集中想要检视的数据行。 o 显示匿名订阅 :指定是否在窗口中显示匿名订阅。 o 说明 :提供关于此窗口的说明信息。 图28-25 合并代理程序选项 设定合并代理程序 建立发行集后,可能会需要修改合并代理程序的行为模式。举例来说,你可以指定合并代理程序的启动模式。在连续模式中,合并代理程序在 SQL Server 代理程序启动后也一并启动。而在依照排程执行的模式中,合并代理程序会依照您指定的排程启动,完成读写交易记录文件中复写的交易就停止。更改模式和其它的属性可以提高执行效能,并降低发行者的负担。以下为设定合并代理程序的步骤: 1. 在 Enterprise Manager,展开想要修改的服务器,展开 复写监视器 数据夹,展开 代理程序 后选择 合并代理程序 数据夹。 2. 在右边的窗格中,选取发行集按右钮以呼叫快捷菜单,接着选择 代理程序属性 。 3. 合并代理程序属性窗口出现,如图28-26 所示。 图28-26 「合并代理程序属性」窗口中的「一般」标签页 4. 选择 步骤 标签页,如图28-27 所示。在卷标页,我们可以看到合并代理程序执行的步骤,这些步骤执行的动作各为: o 记录读取代理程序启动讯息 :将讯息记录在 记录读取代理程序 的历程记录中(在散发数据库的MSLogreader_histroy数据表中)。 o 执行代理程序 :依指定的排程启动代理程序,当执行模式为连续时,代理程序会在系统结束时才停止执行。 o 侦测非记录性代理程序的结束 :将代理程序事件失败的讯息放在记录读写器代理程序的历程记录中。 5. 选择 执行代理程序 步骤选择 编辑 按钮进入 编辑作业步骤 对话框,如图28-28 所示。在这个对话框可以设定如何启动合并代理程序。 图28-27 「合并代理程序属性」窗口中的「步骤」标签页 图28-28 「编辑步骤」对话框中的「一般」标签页 合并代理程序可以设定很多选项。预设的合并代理程序参数可在本步骤中的 命令 方块及 复写代理程序设定文件的详细数据 对话框中变更(稍后会介绍)。可变更的两项参数如下: o Contunuous :指定是否合并代理程序以连续模式或依排程执行。删除参数即可将合并代理程序依排程执行。 o DistributorSecurityMode :指定合并代理程序使用 SQL Server 或 Windows NT 模式验证。 另外,您也可以在 编辑 对话框中指定其它参数,例如Login Timeout、Buffers、Polling Interval、Query Timeout、散发者和发行者信息及Output。 ________________________________________ 相关信息 关于这些参数的设定可以在 SQL Server《在线丛书》中找到数据。在 索引 卷标页中输入 合并代理程序 后选择 启动 主题即可。 ________________________________________ 6. 完成 合并代理程序属性 的修改后,按一下 确定 储存修改。 透过 合并代理程序设定文件 ,可以修改其它的选项,请按照下列的步骤: 1. 在 Enterprise Manager 左边的窗格中,展开 合并代理程序 ,选定发行集后按右钮,叫出快捷菜单,选择 代理程序设定文件 ,如图28-29 所示。 图28-29 「合并代理程序设定文件」对话框 注意此对话框所包含的选项比记录读取器代理程序( 第27章 中有介绍)还多。这些设定文件提供了功能范围,让您可选择一个最适合系统的设定文件。 2. 按一下 新增设定文件 按钮以建立一个新的设定档。现有的设定档不允许修改。按下按钮后会看到如图28-30 的画面。 图28-30 「复写代理程序设定文件的详细数据」对话框 3. 在此对话框中,可以修改以下的参数: o BcpBatchSize :在大量复制作业中传送的数据列数目。在套用结构描述变更的作业中执行 bcp 时,「合并代理程序」会使用批次大小来决定记录进度讯息的时间。数值 0 表示未记录任何讯息。 o ChangesPerHistory :记录上传和下载讯息的临界值。 o DownloadGenerationsPerBatch :自「发行者」下载变更至「订阅者」时,单一批次中处理的世代数目。世代被定义为每个发行项的变更的逻辑群组。不可靠通讯连结的默认值为 10。 不过,在各种状况下,每个批次所处理的实际世代数目,会等于 UploadGenerationsPerBatch 设定与已发行的发行项数目加一之间的较大值。 o DownloadReadChangesPerBatch :自「发行者」下载变更至「订阅者」时,单一批次中读取的变更数目。 o DownloadWriteChangesPerBatch :自「发行者」下载变更至「订阅者」时,单一批次中套用的世代数目。 o FastRowCount :指定验证数据列计数时所用的数据列计数方法的型别。数值 1(默认值)表示使用快速的方法;数值 0 表示使用完整数据列计数的方法。 o HistoryVerboseLevel :在合并作业期间记录的历程的数量可为: ? 总是更新相同状态先前的历程讯息(启动、进行、成功等)。若无相同状态的先前记录,则插入新纪录。这一层级会记录最小的讯息数目。 ? 插入新的历程记录,除非此记录用于类似闲置(Idle)讯息或长期执行的工作讯息的项目中,此时会更新先前的记录。这一层级会记录层级 1 的讯息,以及其它进行中的讯息。 ? 总是插入新的记录,除非它是闲置(Idle)讯息。 可以设定ChangesPerHistory参数,使历程记录对效能的影响减至最小。 o KeepAliveMessageInterval :历程执行绪检查是否有联机在等待服务器响应之前的秒数。可以增加这个值,以避免长期执行批次时,代理程序遭检查代理程序标示为可疑。 o LoginTimeout :在代理程序逾时之前尝试登入的秒数。 o MaxDownloadChanges :在指定的合并工作阶段期间,想要下载的最大变更的数目。由于要处理完整的世代,因此下载的资料列数目可能超过指定的最大值。 o MaxUploadChanges :在指定的合并工作阶段期间,想要上传的最大变更的数目。由于要处理完整的世代,因此上传的资料列数目可能超过指定的最大值。 o MaxDeadlockRetries :合并处理序在遭遇死结(Deadlock)时重新尝试内部作业的次数。可为介于 1 和 100 之间的任何值。 o PollingInterval :在连续模式下,「发行者」或「订阅者」查询数据变更的秒数。 o QueryTimeout :在代理程序逾时之前发出查询的秒数。 o UploadGenerationsPerBatch :自「订阅者」上传变更至「发行者」时,单一批次中处理的世代数目。世代被定义为每个发行项的变更的逻辑群组。不可靠通讯连结的默认值为 1。 不过,在各种状况下,每个批次所处理的实际世代数目,会等于 UploadGenerationsPerBatch 设定与已发行的发行项数目加一之间的较大值。 o UploadReadChangesPerBatch :自「订阅者」上传变更至「发行者」时,单一批次中读取的变更数目。 o UploadWriteChangesPerBatch :自「订阅者」上传变更至「发行者」时,单一批次中套用的变更数目。 o Validate :指定在合并工作阶段结束时是否要加以验证,若是如此,则该验证是何型别。数值 0(默认值)表示无验证。数值 1 表示是仅限资料列计数的验证。数值 2 表示是资料列计数和加总检查码(Checksum)验证。数值 3 表示二进制加总检查码验证(仅可用于 SQL Server 2000)。 o ValidateInterval :设定为连续模式时,验证此订阅的分钟数。 如果合并式复写是依排程模式执行,就会由 SQL Server 代理程序启动,并且会在结束之前,依MaxUploadChanges及MaxDownloadChanges的指定,处理更改的次数。 停用复写 利用 Enterprise Manager 可停用所有或部分的复写,只要在 Enterprise Manger 的复写精灵中移除选取的复写组件即可。本节会学习如何简单的执行这项作业。 移除发送订阅 在散发者系统中,使用Enterprise Manager的发送订阅精灵就可移除发送订阅。在启动发送订阅精灵后就会出现 建立与管理发行集 对话框,按一下要删除的订阅后,按一下右方 删除发行集 的按钮,出现提示方块,询问是否确认删除此订阅。按一下 是 即可移除订阅。 移除提取订阅 在订阅者系统中,使用 Enterprise Manager 的提取订阅精灵就可移除提取订阅。在启动提取订阅精灵后会出现 建立与管理发行集 对话框,按一下要删除的订阅后,再按一下右方 删除发行集 的按钮,出现提示方块,询问是否确认删除此订阅。按一下 是 即可移除订阅。 移除散发和发行 要移除散发和发行,必须开启 停用散发暨发行精灵 。在停用精灵的第一个画面,必须指定是否停用所有散发及发行,或只移除发行。如果选择的是第一个选项,服务器上所有的发行集、订阅和散发者都会被移除;如果选择的是第二个选项(预设选项),就只有发行集会被移除。在选项决定后,会出现确认画面,按一下 是 按钮后就会移除所选的复写组件。 合并式复写的监控与校调 本节将学习如何监控和校调合并式复写系统,使其以最佳化执行。另外也会介绍合并式复写系统的设定要点,以及合并式复写的属性。 合并式复写的属性 合并式复写和其它两种类型的复写方法不太相同,最大的不同处在于合并式复写不采用单向的复写方法,在发行者或任何订阅者都可以进行修改。另外,交易式复写的交易记录文件是被读取以追踪变更,属于 SQL Server 的外部操作;合并式复写则是在复写数据表中建立触发程序来追踪变更。 在首次执行合并式复写时会利用到快照集,不过只会发生一次,因此不需校调快照式复写处理过程。合并式复写同时在发行者与散发者建立数据表,以执行复写。另外,一个 GUID 数据行会被新增至复写的每一个数据表中,这样可以唯一的辨识出每一个数据列,因此复写代理程序才能追踪受影响的变更。 当插入或修改数据列,触发程序会标记该数据列以供复写,日后当合并代理程序被启动时,就会将所有标记的数据列送至散发者数据库以供复写。同时,在订阅者系统中被修改过的数据列,也会由合并代理程序将修改更新至发行者。这样就完成了双向的复写程序。 设定合并式复写 合并式复写需要正确的设定所有参与系统的 I/O 子系统。网络对改善复写执行效能也非常的重要。设定正确的批次操作大小也很重要。如果增加批次操作大小,每个批次操作的内容增多,档案数量较少,这样的设定较有效率。此外,您还可以校调快照式复写。不过,由于快照集应用程序只作用一次,因此可以跳过这个步骤。最后您可以修改合并代理程序,这个修改程序在本章稍早有提及。本节将介绍的是 I/O 与合并式批次操作容量的设定。 设定足够的 I/O 容量 若是 I/O 的容量足够,就能增进复写过程的效能。如同其它的 SQL Server 系统,系统中负责记录复写的交易记录文件应该放在自己的 RAID 1 磁盘区中以便保护数据,而数据文件则应该放在一个或数个 RAID 10 或 RAID 5 磁盘区。和交易式复写相同的地方在于,合并式复写只需微幅的调整标准 I/O 设定。 在发行者设定 I/O 子系统 一般来说,在设定发行者的 I/O 子系统时,应遵照本书中不断提及的重点来设定。和交易式复写不同的地方在于,合并式复写不会增加交易记录文件的负担,只要遵照一般的要点作设定即可。 在散发者设定 I/O 子系统 散发者数据库的交易记录文件应设定在 RAID 1 磁盘区。这样可使得散发者数据库的记录文件达到最佳执行效能,改善散发者的执行效能。 在订阅者设定 I/O 子系统 由于合并式复写是双向的进行,因此订阅者和发行者的校调方式类似,只要遵照一般的要点作设定即可。 设定合并批次操作容量 在繁忙的系统中,您可以利用设定合并批次操作容量的方式改善复写执行。合并批次操作容量决定了单一批次操作中要复写多少有变更的数据列。如果增加批次操作容量,每个批次操作的内容增多,档案数量较少,这样的设定较有效率。 监控合并式复写系统 监控交易式复写活动的方式可透过效能监视器。效能监视器在安装 SQL Server 复写时会加入一些对象,对象如下: • SQLServer:Replication Agents :计算现在系统中有几个不同类型的代理程序正在执行。 • SQLServer:Replication Merge :提供关于合并式复写的速率数据,包括每秒中冲突、上载与下载次数。请注意这些信息并不会真的一定有办法辅助校调合并式复写。 利用效能监视器来监控这些值可让您了解是否散发者有执行效能上的困难。虽然这些效能监视器数据提供很多有用的信息,但并不一定可找出真正的问题。校调合并式复写最好的方法还是注意网络的执行效能,检查可能会产生网络效能瓶颈的地方。参照前两章的要点,检查散发者的负载是否过重。 校调合并式复写系统 校调合并式复写系统最主要的步骤就是正确的设定和监控系统,这些在前一节中已提及。透过效能监视器监控您的系统,注意网络的效能。不过,对合并式复写数据来说,效能监视器所提供的数据就不是那么有用。反而可能要参考其它 SQL Server 的计数器和 Microsoft Windows 2000 的计数器来校调系统。 第24章 曾经提到,当系统的更新次数频繁,可能需要修改 BCP 批次操作容量和合并式批次操作容量。如果增加 BCP 批次操作容量大小,原来快照集代理程序的执行效能也会增加。如果增加合并批次操作容量,由于每个批次操作的内容增多,档案数量较少,影响系统的次数也减少,是较有效率的设定。不过在复写时会增加较多的工作量。 此外,您可以变更轮询频率,变更轮询频率可以使合并式复写执行的频率增加或减少。不过若非必要,并不建议这种变更。如果要校调轮询时间,试着先变更批次操作容量。 如有必要,还要监控网络是否可承载负荷。如果系统并不是执行的很顺,举例来说,如果 CPU 和 I/O 子系统达到饱和,或是复写过程的时间过长,就可能是网络出了问题。网络的问题就比较棘手,因为网络的问题不是检查效能监视器 上一页 [1] [2] [3] 下一页 |