欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载
     

    SQLSERVER的数据库复制要点.pdf

    • 资源ID:5198197       资源大小:1.54MB        全文页数:22页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SQLSERVER的数据库复制要点.pdf

    SQL SERVER 的数据库复制 数据库的复制是分布式数据库应用程序中常用的一种数据拷贝技术,它将一个数据 库中的数据拷贝到通过局域网(LAN ) 、广域网( WAN )或 Internet 网络连接的不同站 点或同一个服务器中的不同数据库中,并能够自动保持这些数据的同步,使各个拷贝具 有相同的数据。 一、 SQL SERVER 复制技术 (一) 、复制结构 SQL SERVR 数据复制基于“出版订阅”模型,它由出版者、分发者和订阅者三 种服务器构成。 出版服务器标识其数据库中的哪些数据用于复制,并检测这些数据的变 化和维护该站点中的所有出版信息。 分发服务器中建立一个或多个分发数据库,用来保存出版服务器的出版物,并向订 阅者传递它们所订阅的复制数据。 订阅服务器用于存储复制数据和接收对复制数据的更改,SQL SERVE 7.0 还允许修 改订阅服务器所接收到的出版物。 出版服务器所出版数据的最小单位为条目,出版条目可以是数据库中的表或存储过 程。SQL SERVER 允许对所出版表添加纵向或横向过滤器,从而使出版条目中只包含表 中的某些列或其中的某些数据行,一组出版条目的集合构成一个出版物。 订阅服务器对出版物的订阅方式有推式订阅和拉式订阅两种,SQL SERVER 中的每 个出版物均支持推式订阅和拉式订阅这两种订阅方式。所谓推式订阅是指当出版物内容 被修改时,由出版服务器通知订阅服务器,而不需要订阅服务器进行查询。推式订阅的 优点是订阅服务器能够及时了解出版数据的改变情况,但它相应加重了出版服务器的负 载。所以,推式订阅适合于需要近乎实时要求的数据复制。 拉式订阅是指由订阅服务器定期轮询出版服务器中出版物的内容是否改变,之后决 定是否需要再次进行复制。拉式订阅能够减轻出版服务器的负担,所以常用于拥有大 量订阅者的数据复制领域。此外,拉订阅也适合于移动用户,因为移动用户与出版服务 器间没有永久固定的通信连接,他们采用订阅方式,只是在需要时才查询出版物内容的 变化情况。 (二)复制代理 SQL Server 复制部件采用模块化设计,各种复制操作通过不同的复制代理实现。 SQL Server 中的复制代理包括: 快照代理:快照代理运行在SQL Server 代理服务环境下。其功能是:为复制准备 表结构、 初始化出版表和存储过程的数据文件、将出版物快照存储到分发服务器的分发 数据库中、 并记录分发数据库的同步状态信息。每个出版物在分发服务器上均运行着自 己的快照代理,并通过快照代理与出版服务器连接。 日志阅读代理:将用于复制的事务从出版服务器的事务日志中拷贝到分发数据库。 每一个使用事务复制出版的数据库在分发服务器上均运行着自己的日志阅读代理,并通 过该代理与出版服务器连接: 分发代理: 将保存在分发数据库中的事务或出版物快照传递到订阅者。分发代理运 行在 SQL Server 代理服务环境下,可以直接使用SQL 企业管理进行管理。对于快照 复制和事务复制, 如果在配置推订阅时采用立即同步(所谓同步是指维护出版服务器上 的出版物和订阅服务器上的复制品之间具有相同的表结构和数据)方式,那么每个出版 服务上在分发服务器上启动各自的分发代理,并由它实现与订阅者间的连接;如果将推 订阅配置为非立即同步方式,那么所有的快照或事务出版物在分发服务器上共享一个分 发代理, 并由它实现与订阅者间的连接。快照和事务出版物拉订阅的分发代理则运行在 订阅服务器上,而不是在分发服务器上。快照复制和事务复制没有合并代理。 (三)复制类型 在分布式数据库应用环境中,不同的应用领域对数据复制的要求各异,不可能有一 种复制方法能够适合所有领域中的应用需要。为此,SQL Server 提供了以下三种复制类 型来满足不同环境中的应用需要: 快照复制: 事务复制: 合并复制: 下面分别介绍三种复制的工作过程。 1快照复制 快照复制是SQL Server 中最简单的一种复制方式, 它拷贝数据库中出版物在某一时 刻的结构和数据状态,即建立出版物快照,之后通过复代理将出版物快照复制给订阅服 务器。 快照复制操作由快照代理和分发代理实现。快照代理将出版物中各条目(表)结构 和数据拷贝到分发服务器的快照文件(但不是分发数据库)中,并在分发服务器的分发 数据 库中记录复制同步操作。分发服务器再根据分发数据库中的同步记录将快照文件 传递到订阅服务器的目的数据库中。 快照代理的具体工作过程为: 快照代理建立从分发服务器到出版服务器的连接,并对出版物中所包含的所有表 (条目)设置共享锁 ,以确保复制数据的一致性。 快照代理再建立从出版服务器的连接,并将各出版条目的结构拷贝到分发服务器 的.sch 文件中(实际拷贝的是建立复制表的Transact-SQL 语句),该文件存储在分发数 据库文件目录下的一个子目录中。 快照代理再建立从分发服务器到出版服务器的连接,并将历史记录和所有错误写 入分发数据库中。 快照代理将出版服务器上出版物中各条目的数据写入分发服务器的数据文件中, 该文件与出版物的结构文件(*。sch) 存储在同一目录下。数据文件和结构文件构成一 个表在某一服务器,出版条目的数据文件采用SQL Server 本地批拷贝文件格式(*.bcp) 存储,否则,数据文件按文件格式存储。 快照代理向分发数据库的Msrepl_commands 和 Msrepl_transactions 表中添加记 录 ,说 明 同 步 集 合 的 存 储 位 置 和 订 阅 服 务器 的同 步 任 务 命 令 。 分 发 数 据 库 中 Msrepl_transactions 和 Msrepl_commands 的表结构如表所示 Msrepl_transactions 和 Msrepl_commands 的表结构 表名列名数据类型说明 Msrepl_transactions Publisher_database_id Int 出版数据库标识 Xact_id Varbinary(16) 事务标识号 Xact_seqno Varbinary(16) 事务序列号 Entry_time Datetime 事务进入分发数据 库的日期和时间 Msrepl_transactions Publisher_database_id Int 出版数据库标识号 Xact_seqno Varbinary(16) 事务序列号 Type Int 命令类型 Article_id Int 条目标识号 Originator_id Int 操作者标识号 Command_id Int 命令标识号 Partial_command Bit 说明该命令是否为 部分命令 Command Varbinary(1024) 命令数据 快照代理解除对出版条目所设置的共享锁。 快照复制过程中,分发代理的工作步骤为: (1)分发代理建立从运行该代理的服务器至分发服务器之间的连接。对于推订阅 和拉订阅,分发代理分别运行在分发服务器和订阅服务器上。 (2)分发代理从分发数据库的Msrepl_commands 表中读取同步集合位置,从 Msrepl_transactions 表中读取订阅服务器的同步命令。 (3)分发代理将结构文件和数据文件传递到订阅服务器,并根据同步命令在订阅 服务器的目的数据库重新建立与出版物中各个条目相同的数据表,从而使出版物中所有 条目同时被同步,保持所有表间的事务完整性和参照完整性。在以上操作过程中,分发 代理锁定它所影响的整个表,因此这时所有其它进程不能对该表设置排它锁。 2事务复制 在出版大型数据库时,如果采用快照复制方式,分发服务器为完成复制操作,必须 在每次出版物内容变化时从出版服务器中拷贝表结构及其中的大量数据,之后再将它们 传递给订阅服务器,这大大加重了网络的通信负担。对于低速连接的网络环境,采用快 照复制将严重影响应用程序的正常运行。 为解决这一问题,SQL Server 提供了事务复制方式。采用这种方式时,当订阅服务 器对出版服务器中的出版物做到初始同步后,SQL Server 监视 INSERT、UUPDATE 、 DELETE 等数据修改语句的执行,并对影响出版物的事务进行标识。事务日志阅读代理 从事务日志中捕获出版条目中数据的变化,并将引起这些变化的事务拷贝到分发服务器 的分发数据库中。之后,由分发服务器将这些事务传递给订阅服务器,并在订阅服务器 上顺序执行这些事务, 对复制品做增量修改, 从而保证订阅服务器中的复制品与出版服 务器出版物中的数据一致(但不是实时一致)。由于事务的数据量远小于它所操作的数 据量,所以采用事务复制方式能够有效减轻网络的通信负担。 事务复制由快照代理、事务日志阅读代理和分发代理实现。快照代理将出版物中各 条目(表)的结构和数据拷贝到分发服务器的快照文件中,并在分发服务器的分发数据 库中记录复制同步操作,快照代理的这一工作过程与快照复制中基本相同。 但在事务复制的初始同步阶段,SQL Server 允许用户在订阅服务器上手工建立出 版物的初始快照,这一操作被称做手工同步。对于非常大的出版物,可选择使用手工同 步操作,这时用户从磁带或其它设备中手工建立出版物快照,使 SQL Server 不再运行快 照代理来同步复制操作,它认为出版服务器和订阅服务器之间已经同步,所以可以立即 传递出版物的修改事务。 日志阅读代理运行时,它首先读取出版物的事务日志,并标识出影响出版物的 INSERT、UPDATA、DELETE 语句或其它数据修改语句。之后,日志阅读代理交这些 被标识的事务批拷贝到分发服务器的分发数据库中。分发数据库作为这些事务的一个存 储转发队列,再将这些事务中已提交的事务传递给订阅服务器。 日志阅读代理运行过程中使用系统存储过程sp_replcmds 读取数据库事务日志中的 复制事务命令集合,使用sp_repldooe标识复制操作的完成程度。 分发代理通过推或拉方式将存储在分发数据库Msrepl_transactions 表中的所有事务 命令传递到订阅服务器。之后订阅服务器按照与出版服务器中相同的顺序执行这些事务 命令,实现对出版物复制品的修改操作。 3合并复制 合并复制允许修改出版服务器中的出版数据库和订阅服务器中的订阅数据库,它能 够自动监视这些数据库中的数据变化,并定期将这些修改操作进行合并,把合并后的结 果提交给建立订阅时为订阅者所设置的优先级载决哪个用户的修改有效。 当建立一个合并复制时,SQL Server 对数据库结构做以下修改: 对出版表标识行唯一列,这使SQL Server 能够在一个表的多个拷贝之间根 据 被标 识 列 唯 一 确 定 各 个 数 据 行 。 具 体 的标 识方 法 是 : 如 果 出 版 条 目 中 具 有 ROWGUIDCOL属性的 uniqueidentifier 数据类型列时, SQL Server 自动使用该列作为行 标识符。否则, SQL Server 在为出版物第一次执行快照代理或创建出版物条目时向出版 表中添加一列rowguid,并对 rowguid 列建立索引, rowguid 列具有 ROWGUIDCOL属 性。由于合并出版一个表之前应删除其中的timestamp 列。 建立出版条目的数据修改跟踪触发器。在为合并复制第一次执行快照代理 或创建出版物条目时,SQL Server 建立合并复制触发器。这些触发器自动跟踪出版条目 中行级或列级数据修改操作,并将所监测到的数据修改操作记录到合并复制系统表中。 由于 SQL Server7。0 允许对一个表建立多个同类型的触发器(在SQL Server6。5 及其 以前版本中,只允许为表建立一个同类触发器),所以,合并复制触发器不影响表中已 经建立的触发器,二者可以共享。 向数据库中添加复制系统表,这些表用于数据跟踪、同步以及冲突检测、 载决和报告等。 系统表 Msmerge_contents 和 Msmerge_tombstone 用于跟踪出版物中的数 据插入、修改和删除操作,其中的行标识符列rowguid 连接各个基表, generation 列用 做逻辑时钟,它标识指定站点中该数据行是否被修改。Generation 列值说明合并代理或 对应站点的用户对该行数据修改的先后顺序。 合并复制由快照代理和合并代理实现。在订阅服务器能够接收出版服务器 的增量修改数据之前,它必须建立与出版物中各条目相同的结构和数据文件,即出版物 的初始快照。初始快照可以通过快照代理建立,也可以由用户手工建立,即所谓的手工 同步方式。 使用快照代理建立初始快照的过程与事务复制中快照代理的工作过程基本相 同,这里不再介绍: 当用户修改合并条目时,合并代理触发器将被修改行的generation 列值置为 0。 之后当合并代理运行时,它查找表中所有generation 列值为 0的数据行,并将这些行的 generation 列值设置为一个比所有其它行的generation列值较高的值。 每个站点中的合并 代理通过跟踪它传递给其它站点的最高generation 列值和其它站点传递给它的最高 generation 列值,即可判断出版物中的各个条目是否被修改。在同步阶段,合并代理将 所有修改数据传递给其它站点。这些站点接收到修改数据后,合并代理首先检查这些行 与表中旧数据行是否存在冲突。如果存在冲突,合并代理将根据各订阅者的优先给自动 处理冲突,载决哪个用户的修改操作有效。 (四)立即修改订阅 立即修改订阅( Immediate Updating Subscribers)是 SQL Server 快照复制和事务复 制中的一个复制选项,它允许订阅服务器对复制进行修改,被修改的数据或事务通过两 阶段提交协议( 2PC)传递给出版服务器,出版服务器提交后再将被修改数据传递给该 出版物的其它订阅服务器之间有可靠的网络连接,能够保证二者间的正常通信,使分布 式事务在两个服务器能够顺利进行。但它不要求其它订阅服务器与出版服务器之间的固 定连接,它们之间可以只在数据同步期间建立连接。 SQL Server 支持立即修改订阅操作时用到以下部件: MS DTC :处理订阅服务器和出版器之间的分布事务,实现二者之间的两阶段提交 操作。 触发器: 当分发代理在订阅服务上建立初始快照时创建该触发器,它捕获数据修改 事务,并在MS DTC 的控制下将所捕获到的事务提交给出版服务器。在创建该触发器 的 CREATE TRIGGER 语句中使用NOT FOR RELPICATION 选项,因此,分发代理对 订阅服务器中数据库所做的修改操作不会激活触发器; 存储过程:当出版服务器检测到订阅服务器对它所订阅出版物的修改与出版服 务器中的数据没有冲突时,位于出版服务器上的存储过程(包括插入存储过程、修改存 储过程和删除存储过程等)实现对出版条目的插入、修改或删除操作,这些操作与订阅 服务器所做的修改相同: 冲突检测: 出版服务器使用以下两种方法检测订阅服务器所提交的事务是否存在冲 突: 时间戳冲突检测法:采用这种方法时,要求出版表中具有时间戳列,SQL Server根据该列判断一数据行在复制到订阅服务器之后是否被修改过。具体检测方法是: 当订阅服务器请求一个立即修改事务时,它将被修改行的时间戳列值相比较,如果二者 相同,则说明该行数据复制之后没有被修改。因此,出版服务器可以接受订阅服务器所 请求的修改事务。否则,说明订阅服务器所请求的修改事务与其它修改操作存在冲突, 出版服务器拒绝订阅服务器的请求,并在两个服务器上回滚事务操作。当出版数据库和 订阅数据库位于同一台服务器上时,不能使用时间戳冲突检测法检测冲突。 行比较冲突检测法:如果出版条目中没有时间戳列,SQL Server 则将订阅服 务器中所有列修改前的数值(由触发器从订阅服务器的deleted 表中提取)与出版服务 器中被修改行的有列的当前值进行比较,如果二者值相同,则说明没有冲突,否则存在 冲突。 (五)存储过程复制 除复制表外, SQL Server 还允许单向或双向复制存储过程。如果存储过程作为快照 出版物中的条目时,SQL Server 将整个存储过程从出版服务器复制到订阅服务器。 但是,如果存储过程作为事务出版物中的条目的,SQL Server 将向订阅服务器复制 存储过程的执行,而不是存储过程执行过程中所产生的数据处理事务。这时,如果在出 版服务器上执行被出版的存储过程,该存储过程的执行及其执行参数被传递到每个订阅 服务器。与出版表相比,在事务复制过程中出版存储过程可以减少网络的通信量。 在事务复制时, SQL Server 自动标识对出版条目中的所有数据处理事务。为避免重 复标识,在被出版存储过程执行期间,SQL Server 暂停对复制事务和命令的标识。 存储过程复制时应该注意:如果对出版基表施加有横向过滤器,即订阅服务器的复 制品中只是出版服务器数据表中的部分数据行时,被复制存储过程在出版服务器和订阅 服务上执行所产生的结果是不同的。 二、使用管理工具实现复制操作 SQL Server 提供了两种数据复制实现方法:一种是使用Transact_SQL 语句和系统 存储过程实现数据复制;另一种方法是作用图形化管理工具SQL Server 企业管理器 /SQL Server7.0。由于第一种方法实现起来比较复杂,而且需要对于SQL 的语句特别熟 练,用户掌握起来有一定的难度,所以我们这里就不再做介绍了,只介绍第二种比较简 单直接的方法来实现数据库的复制,即利用图形将数据复制管理工具管理工具SQL Server 企业管理器来实现。使用QL Server 企业管理器集成到企业管理器中,使用它可 以完成以下操作: 配置出版服务器、分发服务器和订阅服务器; 创建和管理出版物及出版条目; 建立推、拉订阅; 停止服务器的出版、分发和订阅操作; 删除出版物和订阅; 产生复制脚本程序文件。 这一节以建立pubs 数据库的快照出版物及其拉订阅为例介绍怎么使用SQL Server 复制管理工具实现数据复制操作。 (一)配置分发服务器和出版服务器 SQL Server 企业管理器中配置分发服务器和出版服务器的具体操作步骤为: 在 SQL Server企业管理器中, 选择需要配置的 SQL Server 服务器,从 Tools 菜单中选择Replication-Configure Publishing and Subscribers 命令,打开Configure Publishing and Distrbution Wizard 对话框,如图所示 单击图中的 NEXT 按钮,打开图中所示的对话框,进入配置工作的第二步: 设置分发服务器。 如果出版服务器和分发服务器为同一台主机,则选择图中的第一个列 表选项,否则选择其中的第二项。选择第二项时,SQL Server 要求所指定的分发服务器 在本地 SQL Server 企业管理器进行注册。如果所指定的分发服务器还沁有在本地SQL Server 企业管理器中注册,这时可单击Register Server按钮,打开服务器注册对话框, 注册一个新的服务器。之后,单击Next 按钮,进入配置工作的第三步。 在图中,选择是否使用配置向导给出的默认设置。这里我们选择使用其默 认设置,即: 使用 WEBSERVER 服务器作为分发服务器; 允许当前服务器中已注册的服务器(WEBSERVER 、DBSERVER 等)作为订阅服 务器订阅 WEBSERVER 服务器中的出版物; 使用 distribution 数据库作为分发数据库,该数据库存储在C:MSSQL7data 目录下: 允许出版服务器WEBSERVER 使用该分发服务器出版数据。 如果不使用以上默认设置,可选择图中的第一个列表选项,然后,在配置向导的引 导下设置以上各项配置。 单击图中的Next 按钮,打开图中所示的对话框,进入配置工作的最后一步。这 时单击其中的Finish 按钮, SQL Server 即开始自动配置出版、分发和订阅服务器。它所 完成的工作包括: 在指定路径下创建分发数据库及其日志文件; 将指定的服务器配置为分发服务器; 启动出版服务器的数据库出版功能; 启动订阅服务器的订阅功能; 启动出版服务器中指定数据库的数据出版功能。 在SQL Server 企业管理器中,选择需要配置的服务器,从Tools 菜单中选择 Replication-Configure Publishing, Subscribers, and Distribution 命令,打开Publisher and Distributor Properties 对话框,如图所示。Publisher and Distributor Properties 对话框用于 设置出版、分发和订阅服务器及其属性,标识出版数据库。这里只介绍怎样标识出版数 据库。 (见下图一) 选择 Publisher and Distributor Properties对话框的 Publication Databases 选项卡, 如图所示。在其 Databases列表框中列出了服务器上可用于出版的所有用户数据库(SQL Server 系统数据库禁止出版) ,我们选中pubs 数据库前的Trans 和 Merge 复选框,即说 明允许以事务和合并方式出版pubs 数据库中的数据。 (见下图二) 最后单击OK 按钮,亲闭Publisher and Distributor Properties 对话框。 至此,分发服务器出版服务器、订阅服务器和出版数据库、分发数据库的设置和创 建工作已经完成。 (图一) (图二) (二)创建出版物 在 SQL Server企业管理器中使用Create Publication Wizard 创建出版物,并向出版 物中添加出版条目,这一操作步骤为: (1)在 SQL Server 企业管理中,首先选择出版服务器,然后从Tools 菜单 中选择Replication-Create and Manage Publications 命令,打开Create and Manage Publications 对话框,如下图所示 ( 2)从 Create and Manage Publications对话框的 Databases and Publications列 表框中选择出版数据库,如pubs。然后单击Create Publication 按钮,打开Create Publication Wizard(如图所示 ),之后在它的引导下完成出版物的创建和出版条目的定义 操作。 (3)单击上图中的Next 按钮,进入创建出版物操作的第二步。在下图中,选择出版类 型:快照出版、事务出版或合并出版。这里我们选择第二项,即事务出版,然后单击 Next 按钮,进入下一步。 (4)在图中,设置所建立出版物的立即修改订阅选项,这里我们不允许创建对新建立 出 版 物 的 立 即 修 改 订 阅 , 所 以 选 择 下 图 中 的 第 二 项 , 即No, do not allow immediate-updating subscribtions,之后再单击图中的Next 按钮,进入下一步。 (5)在下图中指定订阅服务器的类型。出版物的订阅服务器类型影响出版数据文件的格式, 如果所有订阅服务器均为SQL Server 服务器,出版数据文件使用SQL Server 本地批拷贝格 式,否则它使用字符批拷贝格式。这里选择第一项,即所有订阅服务器均为SQL Server 数 据库服务器。之后再单击图中的Next 按钮,进入下一步。 (6)在下图中为新创建的出版物添加出版条目。首先,从Filter list to show 列表中选择 Both publicshed and unpublished objects 选项,从 Objects in list 列表中选择 Include tables 和 Include stored procs 选项,使 Create Publication Wizard 列出出版数据库中所有已出版 和未出版的表和存储过程。然后从数据库对象列表中选择待出版的表和存储过程。这里, 我们选择出版authors表。然后单击图中的Next 按钮,进入下一步。 (见下图三) (7)在下图的Publication name 和 Publication description 文本框中分别输入新建立 的出版物名称及其描述文本,然后单击Next 按钮,进入下一步。 (见下图四) (8)在下图中,选择是否需要对所添加的出版条目施加横向过滤或纵向过滤,以 及设置是否允许用户建立该出版物的匿名订阅等。如果需要设置出版物的这些属性,选 择图中的第一项,否则选择第二项。这里我们选择第二项,该项包含的设置包括: (见下图五) 创建 pubs 数据库的事务出版物tran_pubs; 所有订阅服务器均为Microsoft SQL Servers 服务器; 出版 authors表,其出版条目名称仍为authors; 对 tuan_pubs出版物的数据不加过滤; 不允许对该出版物建立立即修改订阅; 不允许匿名服务器创建该出版物的拉订阅; 在 1999 年 2 月 8日之前,快照代理在每天的11:30PM 启动一次 然后,单击Next 按钮,进入下一步。 (图三) (图四) (图五) (9)最后单击图中对话框中的finish 按钮,使 SQL Server 开始按照以上设置创建 出版物。 三、生成复制脚本程序 数据复制管理工具只是为用户提供一种图形化的交互操作接口,其各项功能最终仍 是通过执行TransactSQL 语句和系统存储过程来实现。SQL Server 数据库复制管理工 具为用户提供了脚本程序生成接口,该接口将用户的所有设置工作转化为Transact SQL 脚本程序文件。 下面我们使用这一工具生成本节中配置服务器和出版物等操作的脚 本程序。 在 SQL Server 企业管理器中,用鼠标右键单击服务器,从Tools 菜单中选择 ReplicationGenerate Replication Scripts 命令,打开 Generate Replication Scripts 对话框, 如图所示: 首先选中上面图中的两个复选框,即要求生成的脚本程序中包含分发服务器属性设 置和指定数据库中的出版物定义语句。然后,选择Script the commands to 组中的第一个 选项,要求生成指定不部件的创建脚本。如果需要生成指定部件的删除脚本,则选择其 中的第二项。最后,单击“OK”按钮, SQL Server 将打开 Script File Location 对话框, 请用户输入程序脚本的名称以及它的存储路径,并按照指定的参数保存它所产生的程序 脚本文件。 以下内容为管理工具所产生的脚本程序文件内容,大家可以对照自己掌握的SQL 语句的命令来大致的理解一下: /* Scripting the replication setup of server S10. Script Date: 00-10-6 19:11:51 */ /* Installing the server S10 as a Distributor. Script Date: 00-10-6 19:11:53 */ use master GO exec sp_adddistributor distributor = N'S10', password = N'' GO - Adding the distribution database exec sp_adddistributiondb database = N'distribution', data_folder = N'd:MSSQL7data', data_file = N'distribution.MDF', data_file_size = 3, log_folder = N'd:MSSQL7data', log_file = N'distribution.LDF', log_file_size = 0, min_distretention = 0, max_distretention = 72, history_retention = 48, security_mode = 0, login = N'sa', password = N'' GO - Adding the distribution publisher exec sp_adddistpublisher publisher = N'S10', distribution_db = N'distribution', security_mode = 0, login = N'sa', password = N'', working_directory = N'd:MSSQL7ReplData', trusted = N'false', thirdparty_flag = 0 GO - Adding the registered subscriber exec sp_addsubscriber subscriber = N'S10', type = 0, login = N'sa', password = N'', security_mode = 0, frequency_type = 64, frequency_interval = 1, frequency_relative_interval = 2, frequency_recurrence_factor = 0, frequency_subday = 8, frequency_subday_interval = 1, active_start_date = 0, active_end_date = 0, active_start_time_of_day = 0, active_end_time_of_day = 235900, description = N'' exec sp_changesubscriber_schedule subscriber = N'S10', agent_type = 1, active_end_date = 0 GO - Adding the registered subscriber exec sp_addsubscriber subscriber = N'WANGQW', type = 0, login = N'sa', password = N'', security_mode = 0, frequency_type = 64, frequency_interval = 1, frequency_relative_interval = 2, frequency_recurrence_factor = 0, frequency_subday = 8, frequency_subday_interval = 1, active_start_date = 0, active_end_date = 0, active_start_time_of_day = 0, active_end_time_of_day = 235900, description = N'' exec sp_changesubscriber_schedule subscriber = N'WANGQW', agent_type = 1, active_end_date = 0 GO - Enabling the replication database use master GO exec sp_replicationdboption N'fff', N'publish', N'true' GO use fff GO - Adding the transactional publication exec sp_addpublication publication = N'fff', restricted = N'false', sync_method = N'native', repl_freq = N'snapshot', description = N'Snapshot publication of fff database from Publisher S10.', status = N'active', allow_push = N'true', allow_pull = N'true', allow_anonymous = N'false', enabled_for_internet = N'false', independent_agent = N'false', immediate_sync = N'false', allow_sync_tran = N'false', autogen_sync_procs = N'false', retention = 72 exec sp_addpublication_snapshot publication = N'fff', frequency_type = 4, frequency_interval = 1, frequency_relative_interval = 1, frequency_recurrence_factor = 0, frequency_subday = 8, frequency_subday_interval = 1, active_start_date = 0, active_end_date = 0, active_start_time_of_day = 0, active_end_time_of_day = 235959 GO exec sp_grant_publication_access publication = N'fff', login = N'distributor_admin' GO exec sp_grant_publication_access publication = N'fff', login = N'sa' GO - Adding the transactional articles exec sp_addarticle publication = N'fff', article = N'fff', source_owner = N'dbo', source_object = N'fff', destination_table = N'fff', type = N'logbased', creation_script = null, description = null, pre_creation_cmd = N'drop', schema_option = 0x0000000000000071, status = 0, vertical_partition = N'false', ins_cmd = N'SQL', del_cmd = N'SQL', upd_cmd = N'SQL', filter = null, sync_object = null GO 四、建立订阅 下面以建立pubs 出版物的拉订阅为例介绍怎样使用管理工具实现对出版物的订阅 操作: 在 SQL Server 企业管理器中,选择MENGYUN服务器,从

    注意事项

    本文(SQLSERVER的数据库复制要点.pdf)为本站会员(tbuqq)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开