事物复制的troubleshooting 1
摘要:本文大量照抄了Transactional Replication Conversations 上图是一个事物复制的拓扑. 大致可以把这个流程分为3步 logReader Agent从publicationDB的日志文件中读取需要复制的日志信息 logReader Agent将读取的信息写入到distributor的distribution库中 distribution Agent将distribution库中的数据写入到subscriber 三个阶段都可能出现性能问题. 先使用tracertoken进行定位,找到是哪一部出现问题 如果是发布到分发的问题 在logreader agent的作业里
阅读全文
posted @
2011-06-21 16:06
stswordman
阅读(860)
推荐(1) 编辑
distribution cleanup job2
摘要:第25行开始清除事务和命令 sp_MSdistribution_delete以发布库(@publisher_database_id)为单位清除: 第15行,得到改发布库的需要清除的最大序列号(@max_cleanup_xact_seqno) 地20行,调用sp_MSdelete_publisherdb_trans来删除这些数据,所以早于@max_cleanup_xact_seqno的数据都会被删除 sp_MSdelete_publisherdb_trans是真正执行删除操作的存储过程。该存储过程删除msrepl_commands,并通过调用sp_MSdelete_dodelete来删除msre
阅读全文
posted @
2011-06-16 14:56
stswordman
阅读(423)
推荐(1) 编辑
在分发服务器上查看信息
摘要:1 发布信息 use [distribution] select publication,publication_id,publisher_db, case publication_type when 0 then 'transactional' when 1 then 'snapshot' when 2 then 'merge' end as publication_type , allow_anonymous, case sync_method when 0 then 'native' when 1 then 'cha
阅读全文
posted @
2011-06-15 10:46
stswordman
阅读(768)
推荐(0) 编辑
Top子句对查询计划的影响
摘要:1子查询的影响 Nest loop适用于被连接的数据 如果两个表做join操作,会有三种join方式: Nested join, Merge Join, Hash Join Nested Join适用于结果集较小表 Hash Join适用于结果集很大的表 示例如下 createtablemoderatetable1(idintidentity(1,1)primarykey,c1int,c2int,c3int,c4int)createtablemoderatetable2(idintidentity(1,1)primarykey,c1int,c2int,c3int,c4int)declare@n
阅读全文
posted @
2011-06-14 11:02
stswordman
阅读(2093)
推荐(2) 编辑
tracer token 追踪标记
摘要:tracer token是SQL SERVER 2005引入的一个追踪机制, 应用在replication的场景中.用于查看replication的延迟情况. tracer token的原理如下: 在publication database的日志里生成一条记录,该记录被标记成需要被复制. LogReader agent读取这条记录,插入到distribution database Distribution agent将distribution database该条记录插入到订阅服务器. SQLSERVER会去追踪整个过程,统计三个时间段所花费的时间,这样就可以推断出哪个步骤出现了问题:到底是发
阅读全文
posted @
2011-06-01 14:09
stswordman
阅读(1692)
推荐(1) 编辑