当前位置:  数据库>sqlserver

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

    来源: 互联网  发布时间:2014-10-04

    本文导语:  SQL Server的复制分为三种,下面介绍一下这三种复制技术及其存在的一些缺陷,大家在使用时可以根据具体的情境选择适用的复制方法,避开这些缺陷的干扰。 1. 快照复制 A每隔一段时间将B中的相应表中的数据全部删除,然后...

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不提供此类问题的解决方法,需要手动完成)。因此,需要复制的表在使用过程中不能经常变动表结构。(文/张梦强)

    
 
 

您可能感兴趣的文章:

  • oracle SQL解析步骤小结
  • SQL Server SQL Agent服务使用教程小结
  • SQL对时间处理的语句小结
  • SQL 重复记录问题的处理方法小结
  • 有关SQL Server SA权限问题的小结
  • sql server中default value默认值的用法小结
  • PL/SQL编程经验小结开发者网络Oracle
  • SQL查询效率注意事项小结
  • Oracle9iPL/SQL编程的经验小结
  • 世界杯猜想活动的各类榜单的SQL语句小结
  • 六条比较有用的MySQL数据库操作的SQL语句小结
  • SQLServer 获得用户最新或前n条订单的几种SQL语句小结
  • SQL SERVER 的SQL语句优化方式小结
  • SQL Server常用管理命令小结
  • SQL Server 2005 数据库转 SQL Server 2000的方法小结
  • MySQL导入导出.sql文件及常用命令小结
  • SQL语法 分隔符理解小结
  • SQL Server游标的使用/关闭/释放/优化小结
  • SQL学习笔记三 select语句的各种形式小结
  • SQL CONVERT转化函数使用方法小结
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间java.sql接口resultset的类成员方法: getcursorname定义及介绍
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • java命名空间java.sql接口resultsetmetadata的类成员方法: getcolumntype定义及介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3