上一页 1 2 3 4 5 6 7 8 9 ··· 20 下一页
  2013年8月19日
摘要: 在默认情况下,immediate_sync是关闭的,这个属性可以在创建publication时指定,也可以在创建完毕后修改。 如果immediate_sync为true, snapshot 文件和replicated transaction将一直保留到data retention.然后才会被删除。这会导致distribution 数据库增长,复制性能下降。 所以推荐设置为false. 需要注意的时,如果一个数据库有多个publication,只要其中有一个publication的immediate_sync为true,将会导致这个数据库的所有publication的replicated tra 阅读全文
posted @ 2013-08-19 13:51 stswordman 阅读(879) 评论(1) 推荐(0) 编辑
  2013年8月15日
摘要: 有两种情况会造成更新丢失,第一种是不正确的设置,例如外键或触发器的“Not For Replication” (NFR)属性没有开启。详情请参考http://blogs.msdn.com/b/apgcdsd/archive/2012/01/10/10254809.aspx第二种是产品bug,例如使用... 阅读全文
posted @ 2013-08-15 09:18 stswordman 阅读(1734) 评论(6) 推荐(3) 编辑
  2013年8月12日
摘要: 本文将介绍如何实现Alwayson + Replication ,通过AlwaysOn实现Publicationdatabase的高可用性,使Publicationdatabase在failover 之后事务复制可以正常运行。 拓扑如下: Publisher primary Denali1 Publ 阅读全文
posted @ 2013-08-12 11:14 stswordman 阅读(3221) 评论(18) 推荐(3) 编辑
  2013年8月8日
摘要: Snapshot agent读取article的信息,将article的内容和脚本放置到snapshot文件夹中; 接下来distribution agent会读取这些快照文件,传输到订阅,完成初始化操作。期间distribution agent需要处理很多事情,例如判断快照是否可用,需要应用那些快照文件,传输过程中发生中断怎么办 等等。这些都需要distribution agent来协调。读完本文之后您会对这些处理方式有所了解,也会帮助您更好地判断当前事务复制的状态以及进行错误排查。 在此之前,我要先简单地介绍一下distribution agent的工作方式:... 阅读全文
posted @ 2013-08-08 08:04 stswordman 阅读(2621) 评论(3) 推荐(3) 编辑
  2013年8月7日
摘要: 在transactional replication troubleshooting的过程中,经常会遇到下面的场景: 客户在发布端执行了一个几百万行的更新,结果导致性能下降。 客户很想知道目前distribution agent的进度,完成的百分比,决定是等下去还是跳过这个过程。如果已经完成了90%,那么贸然停止就非常可惜了,并且rollback的操作也是要很长时间的。 下面介绍如何查看进度。 如果distribution agent已经启用了verbose log,可以通过verbose log来查看进度. Command id代表已经执行过的数量;transaction seqno表示正. 阅读全文
posted @ 2013-08-07 14:02 stswordman 阅读(1300) 评论(0) 推荐(1) 编辑
  2013年8月6日
摘要: 转自 http://blogs.msdn.com/b/apgcdsd/archive/2013/07/11/sql-server-2012-memory-management.aspxSQL Server 2012 的内存管理和以前的版本相比,有以下的一些变化。一.内存分配器的变化SQL Server 2012以前的版本,比如SQL Server 2008 R2等,有single page allocator 和multi page allocator。也就是说,如果申请的内存是8k以内的,就会有单页分配器分配,而大于8kb的内存请求,使用multi page 分配器来管理。所以,如果你运行D 阅读全文
posted @ 2013-08-06 07:29 stswordman 阅读(2922) 评论(6) 推荐(5) 编辑
  2013年7月31日
摘要: 在事务复制里,如果一个article被更新,distributionagent会调用相应的存储过程将数据更新到订阅端。 这些存储过程分别是[sp_MSins_dboTableName],[sp_MSdel_dboTableName]和 [sp_MSupd_dboTableName], 分别对应插入,删除和更新操作。这些存储过程是在快照初始化时创建的。不过您可能曾经观察到还有其它两个存储过程被调用过:sp_MSins_dboTableName_msrepl_ccs,sp_MSdel_dboTableName_msrepl_ccs。 那么两个存储过程的作用是什么呢? 当sp_addpublica. 阅读全文
posted @ 2013-07-31 15:02 stswordman 阅读(535) 评论(4) 推荐(0) 编辑
摘要: Snapshot agent负责收集publication database的信息,将article的内容存储在snapshot文件中。而distribuiton cleanup job(后文简称清除作业)则负责删除这些文件。清除作业默认每15分钟运行一次,但并不是每一次都会去删除这些文件。那么其中有什么规律吗?实际上这取决与您的设定。如果您的publication启用了immeidate_sync,那么清除作业会一直保留这些文件,直到达到了 max distribution retention(这个值可以通过运行sp_Helpdistributor查看到)。如果没有启用immediate_s 阅读全文
posted @ 2013-07-31 14:11 stswordman 阅读(1062) 评论(4) 推荐(1) 编辑
  2012年12月3日
摘要: 在排查replication问题过程中,经常需要为指定的agent添加verboselog。这首先要找到相关的作业。但在复杂的replication环境中,一台服务器里包可能含了上百个作业,一个个去点开定义去查看简直就是噩梦。下面的文章介绍了如何快速定位作业。所有信息都可以在Distributor ... 阅读全文
posted @ 2012-12-03 14:27 stswordman 阅读(1420) 评论(2) 推荐(2) 编辑
  2011年10月6日
摘要: USEmaster;GOdropdatabaseSalesgoCREATEDATABASESalesONPRIMARY(NAME=SPri1_dat,FILENAME='D:\SalesData\SPri1dat.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=15%),FILEGROUPSalesGroup1(NAME=SGrp1Fi1_dat,FILENAME='D:\SalesData\SG1Fi1dt.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME=Sales_log,FILENAME 阅读全文
posted @ 2011-10-06 09:29 stswordman 阅读(630) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 20 下一页