SQL Server复制功能 巧妙选择避开Bug

  SQL Server具有强大的复制功能,除了将数据和数据库对象从一个数据库复制并准确分发的另一个数据库中,还要实行数据库之间的同步。SQL Server的复制分为三种,下面介绍一下这三种复制技术及其存在的一些缺陷,大家在使用时可以根据具体的情境选择适用的复制方法,避开这些缺陷的干扰。

  1. 快照复制

  A每隔一段时间将B中的相应表中的数据全部删除,然后将自己相应表中的全部插到B中。此种方式显然不适合我们的应用,不予考虑。

  2. 事务复制

  对A中的每一个满足复制条件的事务,每隔一定时间A都应用到B上,反之亦然。SQL Server 通过把数据传给三个存储过程(插入,删除,修改)进行数据的修改,我们可以根据自己的应用改写此存储过程。

  存在缺陷:如果从A到B的复制条件和从B到A复制条件相同的话,会产生“踢皮球”的循环现象。既一系列事务应用于A,A会把这些事务应用于B,B收到这一系列事务后,又会把它应用于A,……如此循环。

  3. 合并复制

  每隔一段时间,复制将会把数据库A,B中需要复制的数据合并一下,使得AB中的数据完全一样,数据都是AB数据库中数据的全体数据。如果A和B中数据主键有冲突,则根据优先级只选其中一条数据。

  需要注意:为了区分数据来自于哪个地点,SQL Server会将每一个需要复制的表中另加一个字段,在编程时应该注意。

  存在缺陷:

  SQL Server 每隔一定时间进行一次复制,如果找不到另一台Server(比如因为网络故障,或是另一台SQL Server没有启动),经过n(默认为10)次连接后,它的复制功能将会down掉,直至有人将复制功能启动。 需要复制的表中如果在复制之前就有数据,在建立复制时比较麻烦(SQL Server不提供此类问题的解决方法,需要手动完成)。因此,需要复制的表在使用过程中不能经常变动表结构。(文/张梦强)

时间: 2024-11-08 19:24:15

SQL Server复制功能 巧妙选择避开Bug的相关文章

SQL Server复制功能要避开缺陷的干扰

SQL Server具有强大的复制功能,除了将数据和数据库对象从一个数据库复制并准确分发的另一个数据库中,还要实行数据库之间的同步.SQL Server的复制分为三种,下面介绍一下这三种复制技术及其存在的一些缺陷,大家在使用时可以根据具体的情境选择适用的复制方法,避开这些缺陷的干扰. 1. 快照复制 A每隔一段时间将B中的相应表中的数据全部删除,然后将自己相应表中的全部插到B中.此种方式显然不适合我们的应用,不予考虑. 2. 事务复制 对A中的每一个满足复制条件的事务,每隔一定时间A都应用到B上

SQL Server复制功能要避开缺陷的干扰小结_MsSql

SQL Server的复制分为三种,下面介绍一下这三种复制技术及其存在的一些缺陷,大家在使用时可以根据具体的情境选择适用的复制方法,避开这些缺陷的干扰. 1. 快照复制 A每隔一段时间将B中的相应表中的数据全部删除,然后将自己相应表中的全部插到B中.此种方式显然不适合我们的应用,不予考虑. 2. 事务复制 对A中的每一个满足复制条件的事务,每隔一定时间A都应用到B上,反之亦然.SQL Server 通过把数据传给三个存储过程(插入,删除,修改)进行数据的修改,我们可以根据自己的应用改写此存储过程

SQL Server复制功能要避开缺陷的干扰小结

SQL Server的复制分为三种,下面介绍一下这三种复制技术及其存在的一些缺陷,大家在使用时可以根据具体的情境选择适用的复制方法,避开这些缺陷的干扰. 1. 快照复制 A每隔一段时间将B中的相应表中的数据全部删除,然后将自己相应表中的全部插到B中.此种方式显然不适合我们的应用,不予考虑. 2. 事务复制 对A中的每一个满足复制条件的事务,每隔一定时间A都应用到B上,反之亦然.SQL Server 通过把数据传给三个存储过程(插入,删除,修改)进行数据的修改,我们可以根据自己的应用改写此存储过程

SQL SERVER实用经验技巧集 选择自 longrujun 的 Blog

server|技巧  Sql Server实用操作小技巧集合包括安装时提示有挂起的操作.收缩数据库.压缩数据库.转移数据库给新用户以已存在用户权限.检查备份集.修复数据库等  (一)挂起操作在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用,解决办法:到HKEY_LOCAL_MACHINE YSTEM\CurrentControlSet\Control ession Manager删除PendingFileRenameOperations (二)收缩数据库--重

Sql Server优化之索引提示----我们为什么需要查询提示,Sql Server默认情况下优化策略选择的不足

原文:Sql Server优化之索引提示----我们为什么需要查询提示,Sql Server默认情况下优化策略选择的不足 环境: Sql Server2012 SP3企业版,Windows Server2008 标准版   问题由来: 最近在做DB优化的时候,发现一个存储过程有非常严重的性能问题, 由于整个SP整体逻辑是一个多表关联的复杂的查询,整体结构比较复杂的,通过的分析和尝试, 最后发现问题出在其中一个大表的查询上实现方式上, 因为这个大表上的意外的执行方式,导致其他表无法被驱动,其他表也

SQL Server补丁版本的检查和安装过程中常见问题

server|过程|问题 来源:http://www.xfocus.net 一.SQL Server补丁版本的检查 SQL Server的补丁版本检查不如Windows 补丁版本检查直接,一个系统管理员,如果不了解SQL Server版本对应的补丁号,可能也会遇到一点麻烦,因此在这说明一下,通过这样的办法判别机器是安全的办法,不会对系统产生任何影响.1.用Isql或者SQL查询分析器登录到SQL Server,如果是用Isql,请在cmd窗口输入isql -U sa,然后输入密码,进入:如果是用

SQL Server补丁安装常见问题 (转)

server|问题 一.SQL Server补丁版本的检查 SQL Server的补丁版本检查不如Windows 补丁版本检查直接,一个系统管理员,如果不了解SQL Server版本对应的补丁号,可能也会遇到一点麻烦,因此在这说明一下,通过这样的办法判别机器是安全的办法,不会对系统产生任何影响. 1.用Isql或者SQL查询分析器登录到SQL Server,如果是用Isql,请在cmd窗口输入isql -U sa,然后输入密码,进入:如果是用SQL查询分析器,请从程序中启动,输入sa和密码(也可

SQL SERVER实用经验技巧集

server|技巧 Sql Server实用操作小技巧集合包括安装时提示有挂起的操作.收缩数据库.压缩数据库.转移数据库给新用户以已存在用户权限.检查备份集.修复数据库等  (一)挂起操作在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用,解决办法:到HKEY_LOCAL_MACHINE YSTEM\CurrentControlSet\Control ession Manager删除PendingFileRenameOperations (二)收缩数据库--重建

SQL SERVER实用经验技巧集 [三]

server|技巧 维护Sql Server中表的索引 在使用和创建数据库索引中经常会碰到一些问题,在这里可以采用一些另类的方法解决-ww w.iTbulo.coGJJWE --第一步:查看是否需要维护,查看扫描密度/Scan Density是否为100% declare @table_id int set @table_id=object_id('表名') dbcc showcontig(@table_id)ww w.iTbulo.coGJJWE --第二步:重构表索引 dbcc dbrein