??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品一区二区欧美,在线播放不卡,成人动漫一区http://www.aygfsteel.com/Titan/articles/22785.htmlTitanTitanTue, 06 Dec 2005 14:00:00 GMThttp://www.aygfsteel.com/Titan/articles/22785.htmlhttp://www.aygfsteel.com/Titan/comments/22785.htmlhttp://www.aygfsteel.com/Titan/articles/22785.html#Feedback0http://www.aygfsteel.com/Titan/comments/commentRss/22785.htmlhttp://www.aygfsteel.com/Titan/services/trackbacks/22785.html事务复制的特?BR>    前面我们指出复制的本质就是从源数据库向目标数据库复制数据Q但对不同的复制cd而言L有差别的。从复制的具体内Ҏ看快照复制是真正意义上的数据复制Q不采用何U数据接收方式(如将表删除后再重建或删除表中数据但保留表l构Q,在网l中传送的是数据。而事务复制在|络中传送的是事务(׃条或多条INSERT?DELETE?UPDATEQ;从传输的数据量来看,事务复制仅将发生的变化传送给订购者,是一U增量复Ӟ但快照复制却整个出版物复制l订购者?BR>    ׃事务复制要不断地监视源数据库的数据变化,所以与快照复制相比Q其服务器负载相应要重?
    在事务复制中当出版数据库发生变化Ӟq种变化׃被立即传递给订购者,q在较短旉内完成(几秒或更短)Q而不是像快照复制那样要经q很长一D|间间隔。因此,事务复制是一U几q实时地从源数据库向目标数据库分发数据的Ҏ。由于事务复制的频率较高Q所以必M证在订购者与出版者之间要在可靠的|络q接?
    事务复制只允许出版者对复制数据q行修改Q若讄了立x新订购者选项Q则允许订购者修改复制数据)Q而不像合q复刉P所有的节点Q出版者和订购者)都被允许修改复制数据Q因此事务复制保证了事务的一致性。它所实现的事务一致性介于立即事务一致性和潜在事务一致性之间?
    ׃事务复制在极的时g内把数据分发到订购者,因此要求出版者与订购者L保持q接。但在快照复制中Q由于相Mơ复制数据的传递间隔时间较长,则允许订购者与出版者不必保持永久连接?
    事务复制另外一个独有特Ҏ支持q行的快照处理,q也是SQL Server 2000 事务复制的新特征。正如在快照复制一节中所叙述的那P通常而言Q在创徏初始快照文g的整个处理过E中Q都要在出版表上攄一个共享锁来阻止对出版的更。新但事务复制所支持的ƈ行快照处理却允许在创建快照文件的整个q程中不必将׃n锁保持到快照文g创徏l束之时。其具体q程是:在复制开始时Q快照代理在出版表上攄׃n锁。当表示快照开始的事g被写入事务日志时Q该׃n锁即被释放。这样在随后的时_即快照文g仍处于生成过E中Q仍可以对出版表q行修改。由此可见,׃n锁在出版表时持箋的时间很短。释攑օ享锁的时L是快照代理开始创建快照文件的时刻。在l束快照文g创徏时。表明创建结束的事g被记录到事务日志中。在从开始到l束的整个快照生成过E中所发生的媄响出版表的事务将被日志阅M理发送到分发数据库?
    q行快照处理虽然允许在创建快照文件的q程中对出版表进行修改,但也因此而增加了快照处理的负载,降低了复制处理的性能Q所以应在系l活动较时Q进行快照初始化处理?BR>
16.4.2 事务复制的执行步?
事务复制的执行主要需要三个代理:快照代理、日志阅M理、分发代理?

1 快照代理
    快照代理从出版者获取新的变化之前,必须使订购数据库的表与出版数据库表具有相同的表结构和数据。因此快照代理首先要实现同步集合的初始化。SQL Server 只有在确认订购者包含表描述与数据的快照文g后,才能q行事务复制?

2 日志阅读代理
从出版者事务日志中搜烦出带有复制标志的事务Qƈ这些事务插入分发数据库?

3 分发代理
分发代理日志阅M理插入到分发数据库中的事务分发到订购者?BR>在事务复制中快照代理和分发代理的具体步骤与快照复制基本相同。事务复制中各代理按照以下的执行序来协调工作完成事务复Ӟ见图16-53Q?



Q?Q?当创购时或到了创建出版物Ӟ所规划的时间快照代理就会被执行Q快照代理在论文上放|共享锁之后Q便创徏包含数据文g与描q文件的同步集合。描q文件主要是Z在订购数据库内创Z论文表相同的表结构。然后将Q这两个文g存储在分发者的复制目录下,q在分发数据库中记录同步作业?BR>
Q?Q?日志阅读代理可以q箋不断地运行或在出版物创徏时规划的时刻q行来监视数据变化。日志阅M理执行时Q它首先阅读出版物的事务日志Q搜索出带有复制标志的INSERT?UPDATE?DELETE 语句和其它修改事务。接着Q日志阅M理将q些带有复制标志的事务批拯臛_发者的分发数据库中。日志阅M理用系l过Esp_replcmds 从日志中来获取下一批带有复制标志的命o。只有那些被提交的事务才送至分发数据库?

    在分发数据库中的复制事务和出版者事务日志中有复制标志的事务是一一相对的。在 Msrepl_transactions 表中存储的一个事务可由多个命令组成,每一条命令存储在Msrepl_ commands 表中。在整个批事务成功写入分发数据库后,每一命o被提交接着阅读代理调用sp_repldone pȝq程来标明复制事务最l在哪里完成。最后代理标明在事务日志中的哪一行将被截掉。那些仍旧等待复制的行不会被截掉。从出版者删除事务日志ƈ不媄响复Ӟ因ؓ只有那未标有复制的事务才会被清除?BR>Q?Q?事务命o一直存储在分发数据库中Q除非分发代理从分发者将其推臌购者数据库或从订购者将其拉到订购者数据库?BR>
注意Q?/STRONG>分发代理W一ơ执行时的主要Q务是订购初始化,卛_初始快照文g分发到订购者?BR>      分发代理仅用于复制而不包含M用户表,同时也不允许在分发数据库中创ZQ何其它数据库对象?BR>      在出版者招待的被复制的操作将按顺序在订购者上被执行、确保数据的最l一致性?BR>      如果订购事务出版物但却没有对订购q行初始化,那么在出版者上自动定制的存储过E都不能在订购者上使用。相反必d订购者手工创建存储过E?

16.4.3 存储q程的复?/SPAN>
    SQL Server 中除了可以复制表以外q可以复制存储过E。在快照复制中,如果论文中包含存储过E,则在复制q程中整个存储过E将从出版者传递到订购者。在事务复制中,如果论文中包含存储过E,则在复制q程中传递给订购者仅是一条存储过E的执行语句Q而不是由存储q程的执行而引起变化了的数据?BR>    如果某一存储q程在执行后产生的结果集很大Q我们会发现仅复制存储过E的执行语句而不是大量的SQL 语句带来极大好处。不必再担心大量的复制语句会占满分发数据库而引起事务丢失,也不再会因复制大量的SQL 语句而引Ll传输性能的下降而感到沮丧?
    下面的例子也怼帮助用户更ؓ深刻地理解复制存储过E的优点?BR>    假如数据库的使用者打修改出版物中某一表的10000 条记录的某一列。如果不使用存储q程复制Q它的处理过E应是这LQ当q些修改在出版者完成时Q日志阅M理便会从事务日志中读些带有复制标志的?0000 条DELETE 语句以及相同数目的UPDATE 语句Qƈ它们送到分发数据库,分发数据库有限的I间立刻昑־有些局促v来如果您很不走运的话Q分发数据库会被L而导致复制中断)Q然后分发代理再把这20000 条语句分发到订购者,在分发时20000 语句争先恐后地挤满了|络U\Q我x会体会到那种{待的滋呟?
    但是Q如果利用存储过E来实现q一修改Qƈ在您的事务复制论文中M该存储过E,那么在网上传递上仅是一条EXEC 语句?BR>    一存储q程定义成出版内容ƈ不是一件困难事Q只要在?6-31 Specify Articles 对话框中选中Include Store 复选框卛_?/P>

Titan 2005-12-06 22:00 发表评论
]]>
在SQL Server 2000里设|和使用数据库复?/title><link>http://www.aygfsteel.com/Titan/articles/22782.html</link><dc:creator>Titan</dc:creator><author>Titan</author><pubDate>Tue, 06 Dec 2005 13:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/Titan/articles/22782.html</guid><wfw:comment>http://www.aygfsteel.com/Titan/comments/22782.html</wfw:comment><comments>http://www.aygfsteel.com/Titan/articles/22782.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Titan/comments/commentRss/22782.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Titan/services/trackbacks/22782.html</trackback:ping><description><![CDATA[<SPAN id=post1 style="FONT-SIZE: 12px; COLOR: #000000">在SQL Server 2000里设|和使用数据库复制之前,应先查相关的几台SQL Server服务器下面几Ҏ否满I<FONT color=#ffffff>'RwT</FONT><BR>   <FONT color=#ffffff>)!`^</FONT><BR>   1、MSSQLserver和Sqlserveragent服务是否是以域用戯n份启动ƈq行的(.\administrator用户也是可以的)<FONT color=#ffffff>";Si</FONT><BR>   <FONT color=#ffffff>cM</FONT><BR>       如果d用的是本地系l帐户localQ将不具备网l功能,会生以下错?<FONT color=#ffffff>?gV'A</FONT><BR>       <FONT color=#ffffff>0b5f</FONT><BR>       q程未能q接到Distributor '@Server name' <FONT color=#ffffff>0</FONT><BR>       <FONT color=#ffffff>)</FONT><BR>     (如果您的服务器已l用了SQL Server全文索服? 请不要修改MSSQLserver和Sqlserveragent服务的local启动?FONT color=#ffffff>2$L!' </FONT><BR>      会照成全文检索服务不能用。请换另外一台机器来做SQL Server 2000里复制中的分发服务器?    <FONT color=#ffffff>Jx%Nf</FONT><BR>       <FONT color=#ffffff>r</FONT><BR>     修改服务启动的登录用P需要重新启动MSSQLserver和Sqlserveragent服务才能生效?   <FONT color=#ffffff>N</FONT><BR>       <FONT color=#ffffff>U5</FONT><BR>   2、检查相关的几台SQL Server服务器是否改q名U?需要srvid=0的本地机器上srvname和datasource一?<FONT color=#ffffff>t1(uh</FONT><BR>   <FONT color=#ffffff>6T</FONT><BR>      在查询分析器里执?<FONT color=#ffffff>]I</FONT><BR>        use master<FONT color=#ffffff>6O</FONT><BR>        select srvid,srvname,datasource from sysservers    <FONT color=#ffffff>zW1#^J</FONT><BR>        <FONT color=#ffffff>9</FONT><BR>      如果没有srvid=0或者srvid=0Q也是本机器)但srvname和datasource不一? 需要按如下Ҏ修改:<FONT color=#ffffff>L</FONT><BR>        <FONT color=#ffffff>!</FONT><BR>        USE master<FONT color=#ffffff>*>>B`}</FONT><BR>       GO<FONT color=#ffffff>2</FONT><BR>       -- 讄两个变量<FONT color=#ffffff>_N</FONT><BR>       DECLARE @serverproperty_servername  varchar(100), <FONT color=#ffffff>6\J44</FONT><BR>               @servername    varchar(100)<FONT color=#ffffff>T;7vZz</FONT><BR>       -- 取得Windows NT 服务器和与指定的 SQL Server 实例兌的实例信?FONT color=#ffffff>=\d</FONT><BR>       SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))<FONT color=#ffffff>\MX</FONT><BR>       -- q回q行 Microsoft SQL Server 的本地服务器名称<FONT color=#ffffff>(nQ#</FONT><BR>       SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)<FONT color=#ffffff>:}</FONT><BR>       -- 昄获取的这两个参数<FONT color=#ffffff>??Fy</FONT><BR>       select @serverproperty_servername,@servername<FONT color=#ffffff>&%)S</FONT><BR>       --如果@serverproperty_servername和@servername不同(因ؓ你改q计机名字),再运行下面的<FONT color=#ffffff>wY</FONT><BR>       --删除错误的服务器?FONT color=#ffffff>tRY.7</FONT><BR>       EXEC sp_dropserver @server=@servername<FONT color=#ffffff>8</FONT><BR>       --d正确的服务器?FONT color=#ffffff>LVE,0</FONT><BR>       EXEC sp_addserver @server=@serverproperty_servername, @local='local'<FONT color=#ffffff>I</FONT><BR>       <FONT color=#ffffff>_bik5</FONT><BR>      修改q项参数Q需要重新启动MSSQLserver和Sqlserveragent服务才能生效?   <FONT color=#ffffff>6*F</FONT><BR>      <FONT color=#ffffff>5_{i)</FONT><BR>      q样一来就不会在创建复制的q程中出?8482?8483错误了?FONT color=#ffffff>A("QE</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  Bc.</FONT><BR>   3、检查SQL Server企业理器里面相关的几台SQL Server注册名是否和上面W二炚w介绍的srvname一?FONT color=#ffffff>PPMv</FONT><BR>   <FONT color=#ffffff>K></FONT><BR>       不能用IP地址的注册名?FONT color=#ffffff> J></FONT><BR>       <FONT color=#ffffff>s>ct</FONT><BR>     Q我们可以删掉IP地址的注册,新徏以SQL Server理员别的用户注册的服务器名)<FONT color=#ffffff>2!o</FONT><BR>       <FONT color=#ffffff>(</FONT><BR>      q样一来就不会在创建复制的q程中出?4010?0084?8456?8482?8483错误了?   <FONT color=#ffffff>u21&y</FONT><BR>       <FONT color=#ffffff>0r|I$N</FONT><BR>   4、检查相关的几台SQL Server服务器网l是否能够正常访?FONT color=#ffffff>w</FONT><BR>   <FONT color=#ffffff>MK"IG</FONT><BR>       如果pingLIP地址可以Q但pingL名不通的时候,需要在    <FONT color=#ffffff>RLDF</FONT><BR>       <FONT color=#ffffff>oQ'm,</FONT><BR>           winnt\system32\drivers\etc\hosts   (WIN2000)<FONT color=#ffffff>e!_t8</FONT><BR>           windows\system32\drivers\etc\hosts (WIN2003)<FONT color=#ffffff>&'L&BY</FONT><BR>           <FONT color=#ffffff>OHS$</FONT><BR>              文g里写入数据库服务器IP地址和主机名的对应关pR?FONT color=#ffffff>az_g)~</FONT><BR>              <FONT color=#ffffff>u*4TLa</FONT><BR>          例如Q?   <FONT color=#ffffff>vl=</FONT><BR>              <FONT color=#ffffff>_</FONT><BR>          127.0.0.1       localhost<FONT color=#ffffff>WKE_</FONT><BR>          192.168.0.35    oracledb    oracledb<FONT color=#ffffff>wN0-&c</FONT><BR>          192.168.0.65    fengyu02    fengyu02<FONT color=#ffffff>x%</FONT><BR>          202.84.10.193   bj_db       bj_db    <FONT color=#ffffff>!&8F</FONT><BR>              <FONT color=#ffffff>;P=)l</FONT><BR>              或者在SQL Server客户端网l实用工具里建立别名Q例?<FONT color=#ffffff>:93c\k</FONT><BR>              <FONT color=#ffffff>jZ</FONT><BR>              <FONT color=#ffffff>_-nz0i</FONT><BR>              <FONT color=#ffffff>m]L/</FONT><BR>     5、系l需要的扩展存储q程是否存在(如果不存在,需要恢?:<FONT color=#ffffff>N&YvI</FONT><BR>     <FONT color=#ffffff>Ibl</FONT><BR>        sp_addextendedproc 'xp_regenumvalues',@dllname ='xpstar.dll'<FONT color=#ffffff>3R7</FONT><BR>        go<FONT color=#ffffff>[7</FONT><BR>        sp_addextendedproc 'xp_regdeletevalue',@dllname ='xpstar.dll'<FONT color=#ffffff>!P~k]</FONT><BR>        go<FONT color=#ffffff>h|Q5%</FONT><BR>        sp_addextendedproc 'xp_regdeletekey',@dllname ='xpstar.dll' <FONT color=#ffffff>[</FONT><BR>        go              <FONT color=#ffffff>$iJZ</FONT><BR>        sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'  <FONT color=#ffffff>Fe%,9V</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  +(}.</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  -9~<z</FONT><BR>   接下来就可以用SQL Server企业理器里[复制]-> 右键选择 <FONT color=#ffffff><K9</FONT><BR>       ->[配置发布、订阅服务器和分发]的图形界面来配置数据库复制了?FONT color=#ffffff>u_E</FONT><BR>   <FONT color=#ffffff>j<YV</FONT><BR>   下面是按序列出配置复制的步?<FONT color=#ffffff>3</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  f?3)n</FONT><BR>   一、徏立发布和分发服务?FONT color=#ffffff>|3mf{m</FONT><BR>   <FONT color=#ffffff>Rl_Bf</FONT><BR>       [Ƣ迎使用配置发布和分发向导]->[选择分发服务器]<FONT color=#ffffff>*G9j></FONT><BR>   <FONT color=#ffffff>o</FONT><BR>      ->[?@servername"成ؓ它自q分发服务?SQL Server创建分发数据库和日志]<FONT color=#ffffff>{mA6</FONT><BR>      <FONT color=#ffffff>N</FONT><BR>      ->[制定快照文g夹]-> [自定义配|] -> [?使用下列的默认配|] -> [完成]<FONT color=#ffffff>ZK~</FONT><BR>      <FONT color=#ffffff>H</FONT><BR>   上述步骤完成? 会在当前"@servername" SQL Server数据库里建立了一个distribion库和<FONT color=#ffffff>>|FA%</FONT><BR>   <FONT color=#ffffff>l</FONT><BR>           一个distributor_admin理员别的用户(我们可以L修改密码)<FONT color=#ffffff>X7</FONT><BR>           <FONT color=#ffffff>i'V</FONT><BR>   服务器上新增加了四个作业:<FONT color=#ffffff>RXne'^</FONT><BR>               [ 代理E序历史记录清除: distribution ]<FONT color=#ffffff>&</FONT><BR>               [ 分发清除: distribution ]<FONT color=#ffffff>^Wy</FONT><BR>               [ 复制代理E序?]<FONT color=#ffffff>|]4ua</FONT><BR>               [ 重新初始化存在数据验证失败的订阅 ]<FONT color=#ffffff>R[X</FONT><BR>   <FONT color=#ffffff>!</FONT><BR>   SQL Server企业理器里多了一个复制监视器, 当前的这台机器就可以发布、分发、订阅了?FONT color=#ffffff>4$gro</FONT><BR>   <FONT color=#ffffff>)F#q</FONT><BR>   我们再次在SQL Server企业理器里[复制]-> 右键选择 <FONT color=#ffffff>OiJ-h</FONT><BR>       ->[配置发布、订阅服务器和分发],可以看到cM下图:<FONT color=#ffffff>#cjp</FONT><BR>   <FONT color=#ffffff>Q:mg</FONT><BR>   <FONT color=#ffffff>n/iX%</FONT><BR>   我们可以?[发布服务器和分发服务器的属性] H口<FONT color=#ffffff>FI6?YZ</FONT><BR>       <FONT color=#ffffff>/</FONT><BR>       -> [发布服务器] -> [新增]        -> [定]<FONT color=#ffffff>X</FONT><BR>       -> [发布数据库] -> [事务]/[合ƈ] -> [定]<FONT color=#ffffff>{</FONT><BR>       -> [订阅服务器] -> [新增]        -> [定]<FONT color=#ffffff>:t6</FONT><BR>       <FONT color=#ffffff>@</FONT><BR>      把网l上的其它SQL Server服务器添加成为发布或者订阅服务器.<FONT color=#ffffff>pVs</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  5Y4E</FONT><BR>      新增一台发布服务器的选项Q?FONT color=#ffffff>T$lt</FONT><BR>          <FONT color=#ffffff>i$BJ</FONT><BR>       <FONT color=#ffffff>a?</FONT><BR>   我这里新建立的JIN001发布服务器是用管理员U别的数据库用户testq接的,<FONT color=#ffffff>kg33</FONT><BR>      <FONT color=#ffffff>=;|-2</FONT><BR>   到发布服务器的管理链接要输入密码的可选框, 默认的是选中的,<FONT color=#ffffff>X8 </FONT><BR>   在新建的JIN001发布服务器上建立和分发服务器FENGYU/FENGYU的链接的旉要输入distributor_admin用户的密?FONT color=#ffffff>_</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  &+</FONT><BR>        到发布服务器的管理链接要输入密码的可选框Q也可以不选,<FONT color=#ffffff>?H7 </FONT><BR>        也就是不需要密码来建立发布到分发服务器的链?q当然欠~安全,在测试环境下可以使用)<FONT color=#ffffff>d</FONT><BR>        <FONT color=#ffffff>N.lUn#</FONT><BR>      新增一台订阅服务器的选项Q?FONT color=#ffffff>[</FONT><BR>              <FONT color=#ffffff>,B#+@</FONT><BR>   二、新建立的网l上另一台发布服务器(例如JIN001)选择分发服务?FONT color=#ffffff>t>#</FONT><BR>   <FONT color=#ffffff>;`hqgJ</FONT><BR>   [Ƣ迎使用配置发布和分发向导]->[选择分发服务器]<FONT color=#ffffff>+UwE{</FONT><BR>   <FONT color=#ffffff>Z</FONT><BR>    -> 使用下列服务?选定的服务器必须已配|ؓ分发服务? -> [选定服务器](例如FENGYU/FENGYU)<FONT color=#ffffff>!PloXO</FONT><BR>    <FONT color=#ffffff>R,J</FONT><BR>    -> [下一步] -> [输入分发服务器(例如FENGYU/FENGYUQ的distributor_admin用户的密码两ơ]<FONT color=#ffffff>&+1t}y</FONT><BR>    <FONT color=#ffffff>Dr</FONT><BR>    -> [下一步] -> [自定义配|] -> [否,使用下列的默认配|]<FONT color=#ffffff>x</FONT><BR>    <FONT color=#ffffff>2s-</FONT><BR>    -> [下一步] -> [完成] -> [定]<FONT color=#ffffff>yi,7S</FONT><BR>    <FONT color=#ffffff>Qr^<</FONT><BR>    建立一个数据库复制发布的过E?<FONT color=#ffffff>5E</FONT><BR>    <FONT color=#ffffff>*XC?</FONT><BR>    [复制] -> [发布内容] -> 右键选择 -> [新徏发布] <FONT color=#ffffff></FONT><BR>    <FONT color=#ffffff>!6</FONT><BR>    -> [下一步] -> [选择发布数据库] -> [选中一个待发布的数据库]<FONT color=#ffffff>G8.#</FONT><BR>           <FONT color=#ffffff>Kvz`G</FONT><BR>    -> [下一步] -> [选择发布cd] -> [事务发布]/[合ƈ发布]<FONT color=#ffffff>@CdU</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  oE</FONT><BR>    -> [下一步] -> [指定订阅服务器的cd] -> [q行SQL Server 2000的服务器]<FONT color=#ffffff>QW,></FONT><BR>       <FONT color=#ffffff>3NVtR</FONT><BR>    -> [下一步] -> [指定目] -> [在事务发布中只可以发布带主键的表] -> [选中一个有主键的待发布的表]<FONT color=#ffffff>{%4=</FONT><BR>      <FONT color=#ffffff>_</FONT><BR>        ->[在合q发布中会给表增加唯一性烦引和 ROWGUIDCOL 属性的唯一标识W字D[rowguid],默认值是newid()] <FONT color=#ffffff>HMxNK</FONT><BR>                <FONT color=#ffffff>D50:OY</FONT><BR>              (d新列? D不带列列表的 INSERT 语句p|,增加表的大小,增加生成W一个快照所要求的时?<FONT color=#ffffff>)AA</FONT><BR>              <FONT color=#ffffff>~pE</FONT><BR>        ->[选中一个待发布的表]<FONT color=#ffffff>p:</FONT><BR>    <FONT color=#ffffff>jwbyA</FONT><BR>    -> [下一步] -> [选择发布名称和描q] -> <FONT color=#ffffff>!W*)</FONT><BR>    <FONT color=#ffffff>2d</FONT><BR>    -> [下一步] -> [自定义发布的属性] -> [否,Ҏ指定方式创徏发布]<FONT color=#ffffff>D<\{g-</FONT><BR>    <FONT color=#ffffff>j</FONT><BR>    -> [下一步] -> [完成] -> [关闭]<FONT color=#ffffff>Fb</FONT><BR>    <FONT color=#ffffff>?df4M</FONT><BR>    发布属性里有很多有用的选项Q设定订阅到?例如24时)<FONT color=#ffffff>i8</FONT><BR>    <FONT color=#ffffff>6la</FONT><BR>        <FONT color=#ffffff>BZ`</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  N?</FONT><BR>    讑֮发布表的目属?<FONT color=#ffffff>v2T</FONT><BR>    <FONT color=#ffffff>OOEa</FONT><BR>    常规H口可以指定发布目的表的名称Q可以跟原来的表名称不一栗?FONT color=#ffffff>ls</FONT><BR>    <FONT color=#ffffff>fo%/:</FONT><BR>    下图是命令和快照H口的栏?FONT color=#ffffff>@e}XCJ</FONT><BR>      <FONT color=#ffffff>yolV</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  `</FONT><BR>   ( SQL Server 数据库复制技术实际上是用insert,update,delete操作在订阅服务器上重做发布服务器上的事务操作<FONT color=#ffffff>!x+c</FONT><BR>    <FONT color=#ffffff>]</FONT><BR>     看文档资料需要把发布数据库设成完全恢复模式,事务才不会丢?FONT color=#ffffff>$u$gz]</FONT><BR>     <FONT color=#ffffff>k></FONT><BR>     但我自己在测试中发现发布数据库是单恢复模式下Q每10U生成一些大事务Q?0分钟后再收羃数据库日志,<FONT color=#ffffff>"</FONT><BR>         q期间发布和订阅服务器上的作业都暂停Q暂停恢复后q没有丢׃Q何事务更?)<FONT color=#ffffff>i</FONT><BR>    <FONT color=#ffffff>J$1</FONT><BR>    发布表可以做数据{选,例如只选择表里面的部分?<FONT color=#ffffff>PJ`o8J</FONT><BR>      <FONT color=#ffffff>?v@\</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  L</FONT><BR>   例如只选择表里某些W合条g的记? 我们可以手工~写{选的SQL语句:<FONT color=#ffffff>5E!vv[</FONT><BR>    <FONT color=#ffffff>iM['</FONT><BR>   <FONT color=#ffffff>On*</FONT><BR>   发布表的订阅选项Qƈ可以建立强制订阅:<FONT color=#ffffff>B</FONT><BR>     <FONT color=#ffffff>^w2</FONT><BR>    <FONT color=#ffffff>`Xn}</FONT><BR>   <FONT color=#ffffff>~9#eeg</FONT><BR>   成功建立了发布以?发布服务器上新增加了一个作? [ 失效订阅清除 ]<FONT color=#ffffff>"`m</FONT><BR>   <FONT color=#ffffff>0(</FONT><BR>   分发服务器上新增加了两个作业: <FONT color=#ffffff>K.M\</FONT><BR>               [ JIN001-dack-dack-5 ] cd[ REPL快照 ]<FONT color=#ffffff>o</FONT><BR>               [ JIN001-dack-3 ]      cd[ REPL日志d?]<FONT color=#ffffff>X</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  ELt</FONT><BR>        上面蓝色字的名称会根据发布服务器?发布名及W几ơ发布而用不同的~号<FONT color=#ffffff>YBj^</FONT><BR>           <FONT color=#ffffff>\3;</FONT><BR>REPL快照作业是SQL Server复制的前提条?它会先把发布的表l构,数据,索引,U束{生成到发布服务器的OS目录下文?FONT color=#ffffff>9</FONT><BR>   (当有订阅的时候才会生? 当订阅请求初始化或者按照某个时间表调度生成)<FONT color=#ffffff>zj</FONT><BR>   <FONT color=#ffffff>R@</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  ,f</FONT><BR>REPL日志d器在事务复制的时候是一直处于运行状态?在合q复制的时候可以根据调度的旉表来q行) <FONT color=#ffffff>`4Y</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  g</FONT><BR>     建立一个数据库复制订阅的过E?  <FONT color=#ffffff>^e,,z</FONT><BR>     <FONT color=#ffffff>9:</FONT><BR>    [复制] -> [订阅] -> 右键选择 -> [新徏h订阅] <FONT color=#ffffff>T</FONT><BR>    <FONT color=#ffffff>X]L9%</FONT><BR>    -> [下一步] -> [查找发布] -> [查看已注册服务器所做的发布]<FONT color=#ffffff>vEEXG</FONT><BR>           <FONT color=#ffffff>T4*OCJ</FONT><BR>    -> [下一步] -> [选择发布] -> [选中已经建立发布服务器上的数据库发布名]      <FONT color=#ffffff>v4</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  !`a</FONT><BR>    -> [下一步] -> [指定同步代理E序d] -> [当代理程序连接到代理服务器时:使用SQL Serverw䆾验证]<FONT color=#ffffff>Vo</FONT><BR>                                              (输入发布服务器上distributor_admin用户名和密码)      <FONT color=#ffffff>i</FONT><BR>                                              <FONT color=#ffffff>}!P</FONT><BR>    -> [下一步] -> [选择目的数据库] -> [选择在其中创阅的数据库名]/[也可以新Z个库名]   <FONT color=#ffffff>\</FONT><BR>    <FONT color=#ffffff>-LCw08</FONT><BR>    -> [下一步] -> [允许匿名订阅] -> [是,生成匿名订阅]      <FONT color=#ffffff>=HGp</FONT><BR>   <FONT color=#ffffff>uC9</FONT><BR>    -> [下一步] -> [初始化订阅] -> [是,初始化架构和数据]      <FONT color=#ffffff>(59g8)</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  #\M</FONT><BR>    -> [下一步] -> [快照传送] -> [使用该发布的默认快照文g夹中的快照文件]<FONT color=#ffffff>i?}\`</FONT><BR>                   (订阅服务器要能访问发布服务器的REPLDATA文g夹,如果有问题,可以手工讄|络׃n及共享权?      <FONT color=#ffffff>F_:)</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  zZxv</FONT><BR>    -> [下一步] -> [快照传送] -> [使用该发布的默认快照文g夹中的快照文件]      <FONT color=#ffffff>h>c</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  ]ktQ]</FONT><BR>    -> [下一步] -> [讄分发代理E序调度] -> [使用下列调度] -> [更改] -> [例如每五分钟调度一ơ]      <FONT color=#ffffff>\</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  ?vWjU</FONT><BR>    -> [下一步] -> [启动要求的服务] -> [该订阅要求在发布服务器上q行SQLServerAgent服务]      <FONT color=#ffffff>VW</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  > Wbr4</FONT><BR>    -> [下一步] -> [完成] -> [定]      <FONT color=#ffffff>~</FONT><BR>    <FONT color=#ffffff>\2A</FONT><BR>   成功建立了订阅后Q订阅服务器上新增加了一个类别是[REPL-分发]作业(合ƈ复制的时候类别是[REPL-合ƈ])<FONT color=#ffffff>Gv0y(</FONT><BR>   它会按照我们l的旉调度表运行数据库同步复制的作?FONT color=#ffffff>Th}</FONT><BR>   <FONT color=#ffffff>_r#Dq;</FONT><BR>   查看它的历史记录q行情况Q例图:<FONT color=#ffffff>c|w,</FONT><BR>   <FONT color=#ffffff>6Zxg5w</FONT><BR>   <FONT color=#ffffff>b(</FONT><BR>   在分发服务器的[复制监视器]->[发布服务器]->[发布名称]->[日志d器]->右键选择->[代理E序历史记录], 例图Q?FONT color=#ffffff>^\j)HX</FONT><BR>   <FONT color=#ffffff>T{g</FONT><BR>   <FONT color=#ffffff> b4tmm</FONT><BR>   三、SQL Server复制配置好后, 可能出现异常情况的实验日?<FONT color=#ffffff>v</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  .bb/Vc</FONT><BR>   1.发布服务器断|?sql server服务关闭,重启?x的时?对已l设|好的复制没有多大媄?FONT color=#ffffff>>fl</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  !`I!</FONT><BR>       中断期间,分发和订阅都接收到没有复制的事务信息<FONT color=#ffffff>"al^Ig</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  x{@</FONT><BR>   2.分发服务器断|?sql server服务关闭,重启?x的时?对已l设|好的复制有一些媄?FONT color=#ffffff>"vql=</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  W`{"Vk</FONT><BR>       中断期间,发布服务器的事务排队堆积h<FONT color=#ffffff>vh>2ej</FONT><BR>          (如果讄了较长时间才删除q期订阅的选项, J忙发布数据库的事务日志可能会较快速膨胀),<FONT color=#ffffff>FU#B</FONT><BR>       <FONT color=#ffffff>:U_Gg7</FONT><BR>       订阅服务器会因ؓ讉K不到发布服务?反复重试<FONT color=#ffffff>i</FONT><BR>           我们可以讄重试ơ数和重试的旉间隔(最大的重试ơ数?999, 如果每分钟重试一?可以支持U?.9天不出错)<FONT color=#ffffff>q+mzN</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  ,2u*</FONT><BR>       分发服务器sql server服务启动,|络接通以?发布服务器上的堆U作业将按时间顺序作用到订阅机器?<FONT color=#ffffff>t:I%)(</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  I5;<Z</FONT><BR>       会需要一个比较长的时?实际上是生成所有事务的insert,update,delete语句,在订阅服务器上去执行)<FONT color=#ffffff>a<E</FONT><BR>       我们在普通的PCZ实验?8个事?00228个命令执行花??8U?<FONT color=#ffffff>mXQu</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  TX.kOH</FONT><BR>   3.订阅服务器断|?sql server服务关闭,重启?x的时?对已l设|好的复制媄响比较大,可能需要重新初试化<FONT color=#ffffff>*8%EHx</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  )\b5gP</FONT><BR>       我们实验环境(订阅服务??8:46分意外停Z, W二?:40分重启动? <FONT color=#ffffff>!nQI</FONT><BR>           已经讑֥的复制在8:40分以后又开始正常运行了, 发布服务器上的堆U作业将按时间顺序作用到订阅机器?FONT color=#ffffff>9A_GJy</FONT><BR>           但复制管理器里出现快照的错误提示, 快照可能需要重新初试化,复制可能需要重新启?<FONT color=#ffffff>w</FONT><BR>           (我们实验环境的机器ƈ没有q行快照初试?复制仍然是成功运行的)<FONT color=#ffffff>7</FONT><BR>   <FONT color=#ffffff><GV</FONT><BR>   四、删除已l徏好的发布和定阅可以直接用delete删除按钮<FONT color=#ffffff>nab</FONT><BR>   <FONT color=#ffffff>f'[,</FONT><BR>   我们最好L按先删定阅,再删发布Q最后禁用发布的序来操作?FONT color=#ffffff>E</FONT><BR>   <FONT color=#ffffff><l</FONT><BR>   如果要彻底删去SQL Server上面的复制设|? 可以q样操作:<FONT color=#ffffff>CG?</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  SH8</FONT><BR>   [复制] -> 右键选择 [用发布] -> [Ƣ迎使用用发布和分发向导]<FONT color=#ffffff>H</FONT><BR> <FONT color=#ffffff>1</FONT><BR>    -> [下一步] -> [用发布] -> [要在"@servername"上禁用发布]<FONT color=#ffffff>$*mI</FONT><BR>           <FONT color=#ffffff>$*S"</FONT><BR>    -> [下一步] -> [完成用发布和分发向导] -> [完成]<FONT color=#ffffff>-G0{Wz</FONT><BR>    <FONT color=#ffffff>lG</FONT><BR>  我们也可以用T-SQL命o来完成复制中发布及订阅的创徏和删? 选中已经讑֥的发布和订阅, 按属标右?FONT color=#ffffff>Jp</FONT><BR>  可以[生成SQL脚本]?q里׃详细讲了, 后面推荐的网站内有比较详l的内容)<FONT color=#ffffff>8OlNw}</FONT><BR>  <FONT color=#ffffff>z</FONT><BR>  当你试图删除或者变更一个tableӞ出现以下错误<FONT color=#ffffff>g~d</FONT><BR>  Server: Msg 3724, Level 16, State 2, Line 1<FONT color=#ffffff>2</FONT><BR>  Cannot drop the table 'object_name' because it is being used for replication.<FONT color=#ffffff>s:a1GR</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  E9</FONT><BR>  比较典型的情冉|该table曄用于复制Q但是后来又删除了复?FONT color=#ffffff>kVvMr</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  @+fQ</FONT><BR>  处理办法Q?FONT color=#ffffff>`(</FONT><BR>  select * from sysobjects where replinfo >'0'<FONT color=#ffffff>zRCDG</FONT><BR><FONT color=#ffffff>©数据库管理员 -- 数据库管理员-数据库工E师-数据库专家  W*9</FONT><BR>  sp_configure 'allow updates', 1<FONT color=#ffffff>GYNrv</FONT><BR>  go<FONT color=#ffffff>}Wck ~</FONT><BR>  reconfigure with override<FONT color=#ffffff>z640</FONT><BR>  go<FONT color=#ffffff>5</FONT><BR>  begin transaction<FONT color=#ffffff>*H%</FONT><BR>  update sysobjects set replinfo = '0' where replinfo >'0'<FONT color=#ffffff><ByY</FONT><BR>  commit transaction<FONT color=#ffffff>sV=>"</FONT><BR>  go<FONT color=#ffffff>tq:`w"</FONT><BR>  rollback transaction<FONT color=#ffffff>(}f</FONT><BR>  go<FONT color=#ffffff>O0</FONT><BR>  sp_configure 'allow updates', 0<FONT color=#ffffff>c</FONT><BR>  go<FONT color=#ffffff>"@J=p></FONT><BR>  reconfigure with override<FONT color=#ffffff>"^Eq6</FONT><BR>  go<FONT color=#ffffff>y)&)qT</FONT><BR></SPAN><img src ="http://www.aygfsteel.com/Titan/aggbug/22782.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Titan/" target="_blank">Titan</a> 2005-12-06 21:41 <a href="http://www.aygfsteel.com/Titan/articles/22782.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">Խ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϲ</a>| <a href="http://" target="_blank">ֿ</a>| <a href="http://" target="_blank">»</a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӣ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ƿ</a>| <a href="http://" target="_blank">ϴ</a>| <a href="http://" target="_blank">Ԫı</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">鱦</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ұ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">²</a>| <a href="http://" target="_blank">Ͱ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͬ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">²</a>| <a href="http://" target="_blank">֬</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>