SQLServer数据复制心得

原创 2004年07月16日 14:17:00

经过几天的研究,对数据复制方面作了些测试,现总结如下:

成功进行数据的复制工作,有些条件是必不可少的:
1>SQL Server Agent必须启动,MSDTC必须启动。
2>所有要复制的表必须有主键。
3>如果表中有text或image数据类型,必须使用with log选项,不能使用with no_log选项。
另外max text repl size选项控制可以复制的文本和图像数据的最大规模,超过这个限制的操作将失败。(这个不知如何理解?)
4>在要进行复制的计算机上,应该至少是隐含共享,即共享名是C$或D$…。
5>为SQL Server代理使用的Windows NT帐号不能是一个本地的系统帐号,因为本地的系统帐号不允许网络存取。
6>如果参与复制的服务器在另外的计算机域中,必须在这些域之间建立信任关系。

复制的三种方法:
1,快照复制。

2,事务复制。通过在发布端发布数据,订阅端立即更新返回到发布端。这种方法对于没有Iamge,text,ntext等类型是能成功,或许对我们的项目更为合理些,但是在办公自动化的收发文管理中都涉及到这种数据类型。
用这种方法复制的时候出现的错误为:

当发布端,新增一条记录后,过一定时间后则会复制到订阅端,
而如果在订阅端新增一条记录,则会出现这样一个错误信息:
[Microsoft][ODBC SQL Server Driver][SQL Server]Updatable Subscriptions:The
text/ntext/image values inserted at Subscriber will be NULL.
保存不进去,复制(立即更新)也就不成功。不知道该如何解决这一问题?

  操作步骤:在发布端:新建->发布->显示高级选项->选择一个数据库->事务发布->选即时更新->在选定项目中选取要复制的表,此表要符合以上的一些条件。在按照向导完成操作。如果有需要可以在发布属性中选取行,即写WHERE语句筛选要复制下去的行。
            在订阅端:新建->请求订阅->显示高级选项->选择一个机器名->登录的帐号->此后需要修改一下复制的周期。再根据向导完成订阅设置.

3,出现了事务复制不能解决的问题后,现想出另外一种复制方法:合并复制。

   初步设想是在总部数据库服务器上做发布端,在成员公司的数据库服务器上做订阅端,根据筛选行来复制不同的数据到不同的成员公司.
   合并复制特点:
      1。如果在发布端跟订阅端都有一条主键相同的记录,那么它将以发布端的记录复制下去,覆盖掉订阅端的同主键数据。
      2。在合并过程中进行数据同步(所有服务器的数据更新进行汇集)

操作步骤:在发布端:新建->发布->显示高级选项->选择一个数据库所在的机器名->合并发布->在选定项目中选取要复制的表,此表要符合以上的一些条件。在按照向导完成操作。如果有需要可以在发布属性中选取行,即写WHERE语句筛选要复制下去的行。
          在订阅端:新建->请求订阅->显示高级选项->选择一个机器名->登录的帐号->此后需要修改一下复制的周期。再根据向导完成订阅设置.

以上仅是一点个人理解,有错误之处在所难免。

SQL SERVER2000利用数据库复制技术 实现数据同步更新

复制的概念 Microsoft? SQL Server? 2000 的复制是在数据库之间对数据和数据库对象进行复制 和分发并进行同步以确保其一致性的一组技术。 使用复制可以将数据分发到不同位置,...
  • hdhai9451
  • hdhai9451
  • 2013年08月31日 21:50
  • 1195

sqlserver oracle 数据复制问题小结

最近碰到一个一个项目 需要把dbf格式的数据导入  到oracle 利用sqlserver 的dts  工具实现的 选择工具 DTS 数据源 选择dbase5 选择你的数据文件  转出 数据源选择 o...
  • willvc123
  • willvc123
  • 2007年12月17日 19:17
  • 373

数据复制

 表数据复制      ·库内数据复制        ·MS    SQL    Server        Insert    into    复制表名称    select    语句    (复...
  • wsimei
  • wsimei
  • 2010年10月29日 17:17
  • 319

Mysql数据复制策略

1.数据复制的作用      通过数据库的复制策略,可以将一个Mysql数据库服务器中的数据复制到其他Mysql数据库服务器中上,当各台数据库服务器上的数据都相同时,就可以将前端的请求分配到mysql...
  • sunhuiliang85
  • sunhuiliang85
  • 2016年12月19日 00:19
  • 465

MySql、Oracle、SqlServer三种数据库数据复制工具

MySql、Oracle、SqlServer三种数据库数据复制工具,任意库,向任意表任意列复制。 前提是:列的数据类型是一致的哦。 看图和源码自己熟悉吧。 下载地址:http://downloa...
  • wzj26638719
  • wzj26638719
  • 2013年07月05日 11:40
  • 861

数据复制

高性能服务器应用避免不必要的数据复制,尤其是当数据复制发生在用户代码和内核之间的时候。如果内核可以直接处理从socket或者文件读入的数据,则应用程序就没必要将这些数据从内核缓冲区复制到应用缓冲区中。...
  • tengyft
  • tengyft
  • 2015年05月22日 11:01
  • 215

SQL On Linux 初体验

SQL On Linux众望所归,即将发布!曾经我们认为不会发生的事情已经发生了,SQL Server今天已经可以在Linux上运行了!现在我们来体验下在Linux之上的SQL Server。开放的时...
  • capsicum29
  • capsicum29
  • 2017年05月22日 16:53
  • 1330

深入浅出Oracle GoldenGate数据复制

一、系统介绍:            随着企业信息化的日益复杂化,同构和异构数据库之间的数据复制,变得越来越重要。Oracle Golden Gate是一种基于日志的结构化数据复制备份软件, 它通...
  • u013019627
  • u013019627
  • 2014年01月20日 11:59
  • 1262

db2数据复制、迁移方法

db2数据复制、迁移方法以下方法经测试,在环境IBM x346,3.2G×2,4G,RAID 1,DB2 V8.2.4,Win2000 Adv Server,DMS表空间中,数据的load速度在60-...
  • xiedd
  • xiedd
  • 2006年06月12日 17:39
  • 1035

介绍几种容灾复制技术

组建容灾的重要基础之一是数据复制技术。在操作上简单来讲就是通过复制软件实时地将数据从一个主机(或磁盘)复制到另一个主机(磁盘),生成一个数据副本。     数据复制有多种分类方法,依据复制启动点的不...
  • pianzif
  • pianzif
  • 2014年06月24日 09:20
  • 1537
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQLServer数据复制心得
举报原因:
原因补充:

(最多只允许输入30个字)