当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:22:00  来源:本站整理

<b>SQL Server数据库技术(105)</b>[MSSQL防范]

赞助商链接



  本文“<b>SQL Server数据库技术(105)</b>[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
  以上是“<b>SQL Server数据库技术(105)</b>[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 16.3.1 快照复制概述
    ????快照复制就是在某一时刻对出版数据举行一次"照相",生成一个描写出版数据库中数据瞬时状况的静态文件,最后在规按时间将其复制到订购者数据库.快照复制并不像事件复制那样要不断地监督、跟踪在出版数据库中发生的数据改变,它所复制的内容不是 INSERT、 UPDATE、 DELETE 语句(事件复制的特点),也不是仅限于那些被改正数据(归并复制的特点).它实际上是对订购数据库举行一次阶段性的表革新,把全部出版数据库中的数据从源数据库送至目标数据库,而不但仅是那些发生了改变的数据.假如论文很大,那么要复制的数据就很多,因此对网络资源需求较高,不但要有较快的传输速度,并且要保证传输的坚固性.
    ????快照复制是最为简单的一种复制范例,可以在出版者和订购者之间保证事件的潜在一致性.快照复制普通利用在以下场所:不需求及时数据时,如在举行抉择支持、查询静态表信息时;只读订购者(订购者不对出版数据举行改正),并且不需求近来的数据;利用当即更新订购者时对数据库的改正次数和数据量较少.
    ????快照复制的履行仅需求快照代理和分发代理.快照代理预备快照文件(包含出版表的数据文件和描写文件)并将其存储在分发者的快照文件夹中,除此之外快照代理还要在分发者的分发数据库中跟踪同步功课.分发代理将在分发数据库中的快照功课分发至订购者服务器的目的表中.分发数据库仅用于复制而不包含任何用户表.
    ????每一次快照代理履行时,都要成立将被分发至订购者的数据文件和描写文件(也称为同步调集).快照代理主要通过以下几步来完成这一工作(见图16-24).

    (1)从分发者到出版者的衔接并在出版物论文中的全部表上加了同享锁.同享锁是为了确保快照数据的一致性,因为同享锁将避免全部的别的用户对表举行改正.快照代理应当被安置在数据库活动较少期间履行.

    (2) 快照代理又成立从出版者到分发者的衔接,并将每一个表的表描写拷贝至分发者上的一个.sch 文件中,该文件存储在分发数据库工作目录下的一个子目录.假如出版物中包含索引和声明的参考完好性,则快照代理将全部被挑选的索引写入分发者的.idx 文件中.

    (3) 快照代理对出版者的出版表的数据履行一次快照,并把这些数据写入分发者上的一文件当中.该文件存储在分发数据库的工作目录下的一个子目录中,假如订购者有sql server, 则快照被做为.bcp 文件存储;假如一个或多个订购者是异构数据库源,则快照被做为字符情势的.txt 文本文件存储同步调集包含.sch 和.bcp 文件,出版物中每一篇论文都有一个同步调集.

    (4) 快照代理向分发数据库的Msrepl_commands 和Msrepl_trnsactions 表中插入新行.Msrepl_command 表中的每个记录是指明同步调集和出版者等位置的号令,Msrepl_trnsactions 表中的每条记录是引用订购者同步任务的号令.

    (5) 快照代理最后释放在每一个论文上的同享锁.
    SQL Server数据库技术(105)
    ????每一次为快照代理运行的分发代理将数据和描写文件分发给订购者.分发代理通过以下几步来完成该任务:
    (1) 分发代理从其所在的服务器向分发者服务器成立衔接,关于推订购,分发代理位于分发者服务器上;关于拉订购,分发代理位于订购者上.

    (2) 分发代理查抄分发者的分发数据库中的Msrepl_commands 和Msrepl_trnsactions 表从第一个表,读取同步调集的位置并从这两个表读取订购者的同步任务.

    (3) 分发代理将在订购数据库中利用在分发数据库的Msrepl_commands 和Msrepl _trnsactions 表中发现的号令,从而将数据文件和描写文件复制到订购者服务器上.假如订购者不是SQL Server 数据库,则分发代理将按要求转换数据范例.在出版物中的全部论文都将被同步并在各表中保持事件和参考完好性.
    ????当有很多的订购者时,应让分发代理运行在订购者服务器上,即便用拉订购.这样可以减轻分发者负载,提高其性能.假如利用推订购,只要订购者订购出版物或在出版物成立时所筹划的时间到临,快照代理城市被履行.但是在快照代理履行的筹划时间到暂时,只有那些没有被同步的订购者才会被同步.

    16.3.2 成立快照复制出版物 在SQL Server 中,操纵Create Publication Wizard 可以指定哪个数据库为出版数据库,挑选表或存储历程来成立论文从而成立复制出版物.

    注意:要成立复制出版物必须其有sysadmin服务器角色. 出版物不能跨多个用户数据库.

    利用SQL Server Enterprise Manager 成立复制出版物需履行以下步骤:
    (1) 启动SQL Server Enterprise Manager, 选中出版者服务器.
    (2) 在主菜单中挑选Tools, 在下拉菜单中挑选Replication, 然后挑选Create and Manage Publications 选项,此时会翻开Create and Manage Publications On ‘Publisher’ 对话框.如图16-25 所示:
    (3) 在Databases and Publications 框中挑选预备出版的数据库然后当挑选Create Publication 选项,翻开Create Publication Wizard 对话框,选中show advanced option in Wizard ,如图16-26 所示.
    SQL Server数据库技术(105)
    (4) 单击"下一步",翻开Choose Publication Database 对话框,如图16-27 所示.从Database 框中可以挑选将出版哪一数据库的表、视图或存储历程.
    SQL Server数据库技术(105)
    (5) 挑选指定的出版数据库后,单击"下一步",翻开Select Publication Type 对话框,如图16-28 所示,从中挑选所利用的复制范例.
    SQL Server数据库技术(105)
    (6) 单击"下一步",按钮翻开Updatable Subscriptions 对话框,如图16-29 所示. Immediate updating 选项表示订购者在对复制数据更新后,立行将这些改变反映到出版者;Queued updating 选项表示订购者在对复制数据更新后,首先将这些更新事件包裹在消息中,并将这些消息存储在订购者和分发者的消息行列中,然后行列阅读代理将从分发者的消息行列中读取这些更新事件,并将其利用到分发者上.可以挑选肆意一个选项,也可以将其都选中.假如不做出挑选,则单击"下一步"之后将翻开Transform Published Data 对话框与(Imme- diate updating 和Queued updating 复制选项以及Transform Published Data 有关的问题,我们将在"16.6 复制选项"一节做具体介绍).在此我们挑选Queued updating.
    SQL Server数据库技术(105)
    (7) 单击"下一步",翻开Specify Subscriber Types 对话框,如图16-30 所示. SQL Server 2000 供应了三种范例订购者;SQL Server 2000 订购者,SQL Server 7 订购者和异构订购者.假如挑选了SQL Server 7 订购者范例,则一些SQL Server 2000 的新增特点将无法利用.在这里我们挑选Server running SQL Server 2000 选项.
    SQL Server数据库技术(105)
    (8) 单击"下一步"按钮,翻开Specify Articles 对话框,如图16-31 所示在SQL Server 2000 中,出版物不但可以是表,存储历程,并且也可以是视图.左面的表格用来肯定出版物包含哪些种类的数据库对象,比方您选中Table 旁的复选框,则会在右面的表格中显示出版数据库中全部用户自定义的表,假如预备让您的论文包含某个表就选中该表对应的复选框.Show unpublished objects 复选框用来肯定能否在右面的表格中显示未被出版的数据库对象.
    SQL Server数据库技术(105)
    (9) 单击表格中被出版的表右边的方框按钮翻开论文属性对话框,如图16-32 所示, General 标签页主要显示论文(表)的基本信息,包含论文名,有关论文的描写、出版表的全部者、表名以及目标表的全部者.
    SQL Server数据库技术(105)
    (10) 挑选Snapshot 标签,如图16-33 所示.
    SQL Server数据库技术(105)
    ????注意:因为快照复制是将出版数据包含表的构造描写文件和数据文件通过当分发人工理复制到订购者,且订购者在初始同步时已在订购数据库中成立了同名、同构造的表,那么订购者是若何接纳这些复制数据呢?可采取以下几种方法:将表删除后再重建;删除那些与从出版者复制过来的数据相匹配的数据行,而保存不匹配的数据行;删除表中数据但保存表构造;不删除表和表中数据,而将数据增添到表中.
    ????在Name Conflict 区域可以挑选一种数据接纳方法,即名字冲突的办理方法.在Copy objects to destination 区域设置在将主键索引拷贝到目标数据库的同时能否也将复制别的选项,比方出版表上的聚簇索引或非聚簇索引、参照完好性约束、用户自定义的触发器等. Convert user_defined to base data type 复选框用来肯定能否将出版表顶用户和自定义数据范例在复制到目标表后转换成其源数据范例(SQL Server 支持的基本数据范例).
    (11) 单击"肯定"按钮,回到Specify Article 对话框,然后单击"下一步"按钮,翻开Article Issue 对话框,如图16-34 所示.
    (12) 翻开Select Publication Name and Description 对话框,如图16-35 所示.在Publication name 文本框中输入出版物的名称;在Publication description 文本框中输入有关出版物的描写文字.
    ????我们倡议除了默许了描写信息外,应当输入别的一些信息,这样当在该出版数据上成立多个出版物不至于混合.
    SQL Server数据库技术(105)SQL Server数据库技术(105)
    (13) 单击"下一步",翻开Customize the Properties of the Publication 对话框,如图16-36 所示.
    ????可通过选中Yes 或No 选项来决意能否对有关出版物的别的属性项举行自定义设置或利用SQL Server 的默许设置.在滑动框内可以浏览出版物的默许属性.在这里我们挑选 Yes, I will define data filters…选项.
    SQL Server数据库技术(105)
    (14) 单击"下一步"翻开Filter Data 对话框,如图16-37 所示.假如预备提高利用程序性能,提高复制数据在网络上的传输速度,极力削减订购数据库存储和保护复制数据的数据量,则应按照各订购者对数据的具体要求挑选得当的过滤范例,如垂直过滤或水平过滤.在这里我们将两个选项全部选中.
    SQL Server数据库技术(105)
    (15) 单击"下一步"按钮,翻开Filter Table Column 对话框,如图16-38 所示.在Columns in selected table 下的表格内清空左边的复选框表示出版论文中不包含该列.
    SQL Server数据库技术(105)
    注意:归并复制不支持表的垂直分割,即不能举行列过滤(只复制某些列),不答应论文件中不包含主键列.若配置了当即更新订购者选项,则不能答应论文中不包含不时戳(timestamp)列.
    (16)单出"下一步",翻开filter table rows对话框,如图16-39所示.从表格中选中要举行过滤的论文,然后单击该行最右边的按钮,翻开specify fileter对话框,如图16-40所示.在该对话框的空白区域输入过滤条件.在本例中利用以下条件:au_id like'20%.
    SQL Server数据库技术(105)SQL Server数据库技术(105)
    注意:在空白区域输入的不是整个select语句,也没必要输入where关键字,只需在where关键字后输入条件表达式便可,条件表达中呈现的列必须包含在出版表中.
    (17) 单击"下一步",翻开Allow Anonymous Subscribers 对话框,如图16-41 所示,挑选Yes 表示答应匿名订购者订购出版物;挑选NO 表示只有那些被启用为订购者角色的服务器才可以订购出版物.
    SQL Server数据库技术(105)
    ????注意:匿名订购者是对比分外的拉订购.因为普通情形下,出版者存储保护与订购者有关的信息,分发者存储保护与订购者性能有关的信息.为了避免因存储保护这些信息而使系统负载太重,常利用匿名订购者,特别有多个订购者且通过Internet举行出版复制.
    (18) 单击"下一步",弹出Set Snapshot Agent Schedule 对话框,如图16-42 所示.假如选中Create the first snapshot immediately 表示在单击"下一步"按钮后会当即成立快照若不利用默许的快照代理履行时间设置,可单击Change 按钮举行设置.
    SQL Server数据库技术(105)
    (19) 单击"下一步",翻开成立出版物完成对话框,如图16-43 所示.在滑动窗口可浏览出版物的成立信息,若想更改某些设置,可按"上一步",回到上个对话框.单击"Finish", 完成出版物成立.
    SQL Server数据库技术(105)

    16.3.3 订购出版物
    在成立完出版物之后,必须订购出版物才能实现数据的复制.在订购出版物之前应在订购者上成立订购数据库.在订购时要举行以下选项的设置:
    由哪些订购者来订购出版物
    挑选目标(订购)数据库
    订购属性
    在SQL Server Enterprise Manager 中,操纵推(拉)订购向导来订购出版物需履行以下步骤:
    (1) 启动SQL Server Enterprise Manager, 选中出版者服务器.
    (2) 在主菜单中挑选Tools, 在下拉菜单中挑选Replication, 然后挑选Push Subscriptions to Others 选项,此时会翻开Create and Manage Publications On ‘publisher’ 对话框.单击出版数据库旁的"+ ",会显示当前出版数据库中的全部出版物.如图16-44 所示.
    (3) 选中将被订购的出版物,单击Push New Subscription 按钮,翻开Welcome to the Push Subscription Wizard 对话框,选中show advanced option in the wizard 复选框.单击"下一步"翻开Choose Subscribers 对话框.如图16-45 所示.
    (4) 在Enabled Subscribers 下挑选已被启用的订购者,单击"下一步"翻开Choose Destination databases 对话框,如图16-46 所示.
    (5) 在Subscription database name 下的编辑框中输入目标数据库名称,或单击 Browse or create 按钮,将会弹出Browse databases 对话框.在空白框中列出选中订购者上的全部数据,从中挑选某个数据库来预备接纳复制数据,也可以单击"Create New" 来成立新订购数据库.
    SQL Server数据库技术(105)SQL Server数据库技术(105)SQL Server数据库技术(105)
    (6) 单击"下一步",翻开Set Distribution Agent Schedule 对话框,如图16-47 所示.假如但愿出版者与订购者之间疾速实现数据的一致性,可挑选Continuously 选项,表示分发代理处于不断的运行状况.挑选Using the follow scheduling 表示在筹划的时间运行分发代理.
    (7) 单击"下一步"弹出Initialize Subscription 对话框,如图16-48 所示,订购初始化是指快照代理开始运行并在订购者生成同步调集(描写文件和数据文件),随后分发代理将同步调集分发到订购者.假如已经举行手工同步,则没必要举行订购初始化.Yes ,initialize the schema and data at the subscriber 选项表示由SQL Server 来完成订购初始化工作.
    SQL Server数据库技术(105)SQL Server数据库技术(105)
    (8) 单击"下一步",翻开Updatable Subscription 对话框,如图16-49 所示.其各选项的具体含义请参看"16.6 复制选项"一节.
    (9) 单击"下一步",翻开Start Required Service 对话框,如图16-50 所示,在该对话框的表格内列出运行同步处理的服务.全部复制范例都需求启动SQL Server Agent, 假如是当即更新订购者的快照复制和事件复制,则还需求MS DTC .若选中左边的复选框,则订购成立后该服务就会自动启动,不然必须今后手工启动.
    SQL Server数据库技术(105)SQL Server数据库技术(105)
    (10) 单击"下一步",翻开Completing the Push Subscription Wizard 对话框,如图16-51 所示.单击"完成",完毕订购成立操作.
    SQL Server数据库技术(105)

    16.3.4 管理出版物
    ????在成立出版物完毕之后,或在设置了拉或推订购之后,仍可对绝大大都复制选项举行重新设置.此中主要包含:论文的内容、订购的属性、快照文件的位置、具有存取出版物的用户、复制更新相关选项等.并且也可以将出版物删除,重新成立新的出版物.在 Enterprise Manager 中,关于出版物相关的复制选项举行重新设置要履行以下步骤:
    (1) 单击Tools 菜单项,在下拉菜单中挑选Replication, 然后再挑选Create andManage Publication 选项,翻开对话框.
    (2) 在Databases and Publications 中选中已成立的出版物,然后再单击Properties and Subscriptions 按钮,翻开Publication Properties 对话框,如图16-52 所示.通过选中各相关标签页,可以重新对其属性举行设置,各选项的具体含义请参看本章前面所作的介绍.
    SQL Server数据库技术(105)
    ?
    本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .