设为首页 收藏本站
查看: 972|回复: 0

[经验分享] SQL Server 2005复制(一.可用性测试评估)

[复制链接]

尚未签到

发表于 2015-7-5 10:02:51 | 显示全部楼层 |阅读模式
SQL Server 2005复制(.可用性测试评估)

  一、基本的功能测试:
  DML操作同步:
  1.有主键表的增//改数据同步(同步正常)
  2.无主键表的增//改数据同步(无主键不能作同步复制,必须将每一张表加主键,否则无法配置到同步环境)
  3.包含索引的表的增//改数据同步(同步正常)
  4.包含触发器的表的增//改数据同步(如果A表包含有触发器,当增加记录时向B表插入数据,备库上会报错)
  5.包含级连删除/修改数据的表的删/改数据同步 (同步正常)
  6.包含大对象数据的表增//改数据同步(同步正常)
  DDL操作同步:
  .增加表(不能同步新增加的表及数据,但不会报错)
  .删除表出错
  drop table dbo.test
  消息3724,级别16,状态2,第1
  无法对表' dbo.test ' 执行删除,因为它正用于复制。)
  .修改表名出错
  EXECUTE sp_rename N' dbo.test ', N'test1', 'OBJECT'
  消息15051,级别11,状态1,过程sp_rename,第301
  该表已为了复制而被发布,所以无法重命名。)
  .增加表索引 (不能同步索引,但不会报错)
  .删除表索引  (不能同步索引,但不会报错)
  .修改表索引  (不能同步索引,但不会报错)
  7.增加表字段 (主DB增加字段会同步到复制DB
  ALTER TABLE dbo.test ADD testcolumn NVARCHAR(20) null
  8.删除表字段 (同步正常)
  9.修改表字段  (同步正常)
  10.存储程序类同步(有时会报错,需要进一步跟踪原因)
  二、稳定性及同步监控测试
  1 .发布服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制没有多大影响
    中断期间,分发和订阅都接收到没有复制的事务信息
  2. 分发服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制有一些影响。中断期间,发布服务器的事务排队堆积起来(如果设置了较长时间才删除过期订阅的选项, 繁忙发布数据库的事务日志可能会较快速膨胀), 订阅服务器会因为访问不到发布服务器,反复重试,我们可以设置重试次数和重试的时间间隔(最大的重试次数是9999, 如果每分钟重试一次,可以支持约6.9天不出错)
  分发服务器sql server服务启动,网络接通以后,发布服务器上的堆积作业将按时间顺序作用到订阅机器上:  会需要一个比较长的时间(实际上是生成所有事务的insert,update,delete语句,在订阅服务器上去执行)
  3 .订阅服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制影响比较大,需要重新初试化
  三、复制配置注意事项
  1.如果想同步主DB上的非聚集索引,需要在主DB发布属性项目中对表点右键,选择设置所有表项目的属性,将复制非聚集索引设为true
  2.DB发布属性项目中增加新的对象后,需要重新初始化快照,才能将新的对象同步。增加新的对象不需要重新初始化订阅
  3.可以个性化的新建复制DB上的索引,当建立后要注意重新初始化订阅后,需要重新建立这些主DB上不存在的索引
  4.具体事务复制延迟的时间受网络,事务并发等因素的影响,局域网内的事务复制一般情况下延迟在34秒左右,第一次初始化的时间较长,可以利用备份文件初始化。所以对于实时性要求高的业务逻辑不能依赖于复制DB
  5.为了降低复制对主DB性能的影响,可以增加筛选仅复制需要的数据和字段;将订阅作为请求式的;独立分发服务器。
  6. 通过使用事务复制或合并复制发布的表不能使用TRUNCATE TABLE语句,只能考虑使用DELETE 语句代替
  四、复制DB的应用场景
  关于复制数据库的使用,我设想了几种复制DB的应用场景:
  (1.)作为开发人员日常查询只读数据库;
  (2.)一般分析处理及统计数据的后台;
  (3.)数据仓库和报表数据源;
  (4.)可在复制DB上个性化的自定义一些索引针对某些应用的查询;
  (5.)可以考虑将复制DB作为一些缓存数据或非实时性业务查询的数据源;
  (6.)考虑利用复制DB改进每晚一些作业的处理。
  (7.)可以考虑根据业务或用户的访问或者访问的实时性,将主数据库划分为多个分布式的数据库,这时复制作为实施分布式数据的一种方法,可以利用复制创建数据的副本

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-83293-1-1.html 上篇帖子: ms sql server 2005数据库日志文件过大,需要清除或者清空 下篇帖子: 从远程服务器数据库中同步数据到本地数据库 sql server 2008 开启分布式事务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表