zoukankan      html  css  js  c++  java
  • SQLSERVER复制的要点

    SQLSERVER复制的要点

    在论坛里经常有人问:SQLSERVER复制出问题了!!SQLSERVER复制不运行了!!SQLSERVER复制遇到阻塞了!!

    然后最后来一句:“怎麽办???????????????”

    大家知道:我们使用SQLSERVER复制功能主要用来读写分离,当然还有其他的场景会用到SQLSERVER复制,不过大部分还是用在"读写分离"

    根据《SQLSERVER数据库大型应用解决方案总结》里总结的SQLSERVER复制的优缺点

    文章地址:http://www.cnblogs.com/dinglang/archive/2012/01/10/2317748.html

    优缺点 :

    (1) 数据的实时性差:数据不是实时同步到自读服务器上的,当数据写入主服务器后,要在下次同步后才能查询到。

    (2) 数据量大时同步效率差:单表数据量过大时插入和更新因索引,磁盘IO等问题,性能会变的很差。

    (3) 同时连接多个(至少两个)数据库:至少要连接到两个数据数据库,实际的读写操作是在程序代码中完成的,容易引起混乱。

    (4) 读具有高性能高可靠性和可伸缩:只读服务器,因为没有写操作,会大大减轻磁盘IO等性能问题,大大提高效率。

    只读服务器可以采用负载均衡,主数据库发布到多个只读服务器上实现读操作的可伸缩性。

     ------------------------------------------------------华丽的分割线-----------------------------------------------------------

    其实我们可以只同步某些表,不需要将整个数据库里的所有表都同步到订阅服务器上,而且SQLSERVER还支持只同步一张表里的某些列

    有些人就是将整个数据库里的表都同步,不管哪些表是经常访问的,哪些表数据量比较大,哪些表不适合加主键或者索引

    因为同步的一个条件是,表里必须要有主键,如果你需要同步所有表,那不是所有表都要加上主键??大家知道加上主键

    相当于给表加了聚集索引,那么肯定影响数据修改的性能,所以大家只需要把需要同步/发布的表发布出来就可以了

    没必要把整个库都发布出来,还有一些存储过程、函数、视图也是一样,只需要同步经常访问的或者必须要用到的就可以了

    --------------------------------------------------------华丽的分割线---------------------------------------------------------

    复制的前提条件:

    (1)为了提高执行效率,可以限制订阅服务器获得的所有数据,或仅发布订阅者真正需要的数据或订阅者有权得到的数据
     
    (2)在实现快照复制之前,为快照复制留出充足的磁盘空间
     
    (3)在实现事务复制之前,分配足够的日志空间,为分发数据库留有足够的磁盘空间
     
    (4)为每一个表创建主键
     
    (5)实现合并复制前移去timestamp列,由于订阅服务器的数据也会传递到发布服务器,

    应确保数据的完整性在各个订阅服务器上都能得到保证,维护表之间的关联参照

    (6)在所有IDENTITY属性字段上加上NOT FOR REPLICATION设置,以保证SQLSERVER在复制代理程序所添加的行上保留起始标识值,

    但是继续在其他用户所添加的行上增加标识值。当用户将某个新行添加到表时,标志值以通常的方式增加。当复制代理程序将该新行复制到

    订阅服务器时,再将该行插入到订阅服务器表中时不更改标识值

    ----------------------------------------------------------华丽的分割线-----------------------------------------------------

    下面附上我写的一篇文章,关于复制的介绍和复制的注意事项,如果提高复制性能,定制复制标准,定义复制等

    SQLSERVER复制

    1、只发布必要的表或字段

    2、定制性能标准

    3、提高常规复制的性能

    里面有几个注意点,希望读者可以详细认真地读一下,o(∩_∩)o

    希望文章能帮到大家

    如有不对的地方,欢迎大家拍砖!!

  • 相关阅读:
    给列表项标记添加自定义图像
    双飞翼布局与圣杯布局
    CSS3 calc()
    CSS滚动视差
    应用层层面面试题汇总
    Linux下OpenSSL 安装
    深入理解:Android 编译系统
    ios 好去处
    IBOutlet & IBAction
    ar技术序章-SDK介绍和选择
  • 原文地址:https://www.cnblogs.com/lyhabc/p/3176299.html
Copyright © 2011-2022 走看看