SQLServer Replication 创建技巧
? SQLServer的Replication技术从2005开始,已经变得非常成熟了,而且效果也很好,很多的公司在做读写分离时,都选择了这项技术;Replication现在包括事务、
合并和快照三种,每项都有各自的应用优势,大家用得最多的无疑是事物复制了,这种技术能保证我们发布端的数据的变更能及时传输到订阅端,网络带宽和服务器配置 如果不差的话,两台机器之间的数据延时是非常小的,这为我们的读写分离技术提供了有力的保障(很少出现用户刚刚新加的数据查不到的现象),不仅分散了读写的压 力,而且在做机器维护时也游刃有余,并且用户体验也得到了比较好的提升,下面我们以事务复制为例,来介绍下创建复制链的技巧。 创建Replication有三种方法: 方法一:使用备份还原的技术 ??? 1. 在订阅端还原的数据库上查找自增列: ???? -- 查找数据库自增列 SELECT 表名 = D.NAME,列名 = A.NAME,是否自增 = CASE WHEN COLUMNPROPERTY ( A.ID,A.NAME, ' ISIDENTITY ' ) = 1 THEN ' √ ' ELSE '' END ,主键 = CASE WHEN EXISTS ( SELECT 1 FROM SYSOBJECTS WHERE XTYPE = ' PK ' AND PARENT_OBJ = A.ID AND NAME IN ( SELECT NAME FROM SYSINDEXES WHERE INDID IN ( SELECT INDID FROM SYSINDEXKEYS WHERE ID = A.ID AND COLID = A.COLID))) THEN ' √ ' ELSE '' END FROM SYSCOLUMNS A LEFT JOIN SYSTYPES B ON A.XUSERTYPE = B.XUSERTYPE INNER JOIN SYSOBJECTS D ON A.ID = D.ID AND D.XTYPE = ' U ' AND D.NAME <> ' DTPROPERTIES ' where COLUMNPROPERTY ( A.ID, ' ISIDENTITY ' ) = 1
???? 2. 将自增列修改成普通列:
???? 整个过程对系统业务影响非常小。 方法三:直接初始化快照 转自:http://www.cnblogs.com/fygh/archive/2011/07/02/2096395.html 收藏学习 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |