CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

各位,小弟会急疯了。。。。

楼主xiaoyu1423(笑语)2005-06-13 11:29:43 在 MS-SQL Server / 应用实例 提问

老板让将数据进行同步,将局域网内的数据上传到远程服务器上,但是我每次传输的时候总是提示表行数太大。(2000左右)  
  都用的是sqlserver2000做数据库!我用的是表对表复制数据!  
   
  不知道各位老大有什么好的办法??  
   
  小弟在这里先谢了!  
   
  问题点数:100、回复次数:5Top

1 楼631799(杭州工人)回复于 2005-06-13 11:46:11 得分 50

 
  发布订阅  
   
  1.作发出版,分发服务器,必须要启动   SQLServerAgent服务  
  订阅服务器可以不用启动   SQLServerAgent服务.  
   
  2.在进行操作之前,必须在出版分发服务器这边注册订阅服务器,两边最好建有相同结构的数据库  
  3.从菜单中选Tools>>Republication>>Configure   Publishing   And   SubScripter   ,接着进行配置,Configure   Publishing   ,Subscirpter   And   Distribution...配置要分发的数据库及其表,视图等  
   
  4.创建分发管理   Create   And   Manager   Publication,选择要分发的数据库  
   
  5.接上在此基础上或Push   Subscriptions   to   other,选取分发数据库下的出版物,再按右边的按钮:Push   New   Subscription,逐步按向导完成  
   
  启动代理的域用户账号必须具有读取发布-分发服务器目录的权限  
  你用的账号没有读取\\ServerA\D$\Program   Files\Microsoft   SQL         Server\MSSQL\repldata\unc\这个目录下的文件的权限。  
   
   
   
  利用数据库复制技术   实现数据同步更新  
  复制的概念  
  复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。  
  SQL复制的基本元素包括  
  出版服务器、订阅服务器、分发服务器、出版物、文章  
  SQL复制的工作原理  
  SQL   SERVER   主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器  
  SQL   SERVER复制技术类型  
  SQL   SERVER提供了三种复制技术,分别是:  
  1、快照复制(呆会我们就使用这个)  
  2、事务复制  
  3、合并复制  
  只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。  
  第一先来配置出版服务器  
  (1)选中指定[服务器]节点  
  (2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令  
  (3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。  
  (4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution)  
  第二创建出版物  
  (1)选中指定的服务器  
  (2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会弹出一个对话框  
  (3)选择要创建出版物的数据库,然后单击[创建发布]  
  (4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)    
  (5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如   ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQL   SERVER   2000"的数据库服务器  
  (6)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表  
  (7)然后[下一步]直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。  
  第三设计订阅  
  (1)选中指定的订阅服务器  
  (2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]  
  (3)按照单击[下一步]操作直到系统会提示检查SQL   SERVER代理服务的运行状态,执行复制操作的前提条件是SQL   SERVER代理服务必须已经启动。  
  (4)单击[完成]。完成订阅操作。  
  完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开C:\Program   Files\Microsoft   SQL   Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表  
   
  http://www.csdn.net/develop/Read_Article.asp?Id=14901  
  DBMS:SQL   Server   2000  
   
  问题有两个:  
  1.当订阅断开一段时间(可能十几天,网络不通)之后,再次启动订阅时,  
      怎么才能保持复制还能正常进行???  
      (偶的经验是必需删除原订阅,再创建新订阅,并且必须清除订阅服务器上以前复制过去的数据)  
   
  2.怎么动态增加发布的表  
      说明:  
                我每月新增一个当月的表,在创建发布时,该表还没有,怎么把它加到原来的发布中???  
   
  1   初始化订阅   选择初始化架构和数据  
  2   企业管理器   ->复制   ->发布内容->   属性->项目中只能添加表,不能做删除Top

2 楼631799(杭州工人)回复于 2005-06-13 11:46:28 得分 49

利用数据库复制技术   实现数据同步更新  
  复制的概念  
  复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。  
  SQL复制的基本元素包括  
  出版服务器、订阅服务器、分发服务器、出版物、文章  
  SQL复制的工作原理  
  SQL   SERVER   主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器  
  SQL   SERVER复制技术类型  
  SQL   SERVER提供了三种复制技术,分别是:  
  1、快照复制(呆会我们就使用这个)  
  2、事务复制  
  3、合并复制  
  只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。  
  第一先来配置出版服务器  
  (1)选中指定[服务器]节点  
  (2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令  
  (3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。  
  (4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution)  
  第二创建出版物  
  (1)选中指定的服务器  
  (2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会弹出一个对话框  
  (3)选择要创建出版物的数据库,然后单击[创建发布]  
  (4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)    
  (5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如   ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQL   SERVER   2000"的数据库服务器  
  (6)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表  
  (7)然后[下一步]直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。  
  第三设计订阅  
  (1)选中指定的订阅服务器  
  (2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]  
  (3)按照单击[下一步]操作直到系统会提示检查SQL   SERVER代理服务的运行状态,执行复制操作的前提条件是SQL   SERVER代理服务必须已经启动。  
  (4)单击[完成]。完成订阅操作。  
  完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开C:\Program   Files\Microsoft   SQL   Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表  
   
   
  一   配置发布服务器  
   
  在发布服务器上执行以下步骤:  
   
  (1)   从[工具]下拉菜单的[复制]子菜单中选择[配置发布、订阅服务器和分发]出现配置发布和分发向导    
  (2)   [下一步]   选择分发服务器   可以选择把发布服务器自己作为分发服务器或者其他sql的服务器  
  (3)   [下一步]   设置快照文件夹    
          一般采用默认\\servername\d$\Program   Files\Microsoft   SQL   Server\MSSQL\ReplData  
  **(4)   [下一步]   自定义配置    
        可以选择:  
        是,让我设置分发数据库属性启用发布服务器或设置发布设置  
        否,使用下列默认设置  
   
        建议采用自定义设置  
  (5)   [下一步]   设置分发数据库名称和位置   采用默认值  
  (6)   [下一步]   启用发布服务器   选择作为发布的服务器  
  (7)   [下一步]   选择需要发布的数据库和发布类型  
  (8)   [下一步]   选择注册订阅服务器  
  (9)   [下一步]   完成配置  
         
           
  二   创建出版物  
   
  发布服务器上  
  (1)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令  
  (2)选择要创建出版物的数据库,然后单击[创建发布]  
  (3)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。  
  对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)  
     
  (4)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,  
  SQLSERVER允许在不同的数据库如   ORACLE或ACCESS之间进行数据复制。  
  但是在这里我们选择运行"SQL   SERVER   2000"的数据库服务器  
   
  (5)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表  
   
  注意:   如果前面选择了事务发布   则再这一步中只能选择带有主键的表  
   
   
  (6)选择发布名称和描述  
   
  **(7)自定义发布属性      
   
  向导提供的选择:  
  是   我将自定义数据筛选,启用匿名订阅和或其他自定义属性  
  否   根据指定方式创建发布    
   
  建议采用自定义的方式  
   
  (8)[下一步]   选择筛选发布的方式    
  (9)[下一步]   可以选择是否允许匿名订阅  
   
  1)如果选择署名订阅,则需要在发布服务器上添加订阅服务器  
  方法:   [工具]->[复制]->[配置发布、订阅服务器和分发的属性]->[订阅服务器]   中添加  
   
  否则在订阅服务器上请求订阅时会出现的提示:改发布不允许匿名订阅  
  如果仍然需要匿名订阅则用以下解决办法    
  [企业管理器]->[复制]->[发布内容]->[属性]->[订阅选项]   选择允许匿名请求订阅  
   
  2)如果选择匿名订阅,则配置订阅服务器时不会出现以上提示  
   
   
  (10)[下一步]   设置快照   代理程序调度  
  (11)[下一步]   完成配置  
   
   
  当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。  
   
   
  三   订阅服务器的配置  
   
   
  (一)   强制订阅的配置  
  在发布服务器上  
  [企业管理器]->[复制]->[发布内容]->[属性]->[订阅]->[强制新建]  
  然后出现强制订阅向导    
  选择订阅服务器->订阅数据库名->设置分发代理程序调度->初始化订阅->启动要求的服务  
  (发布服务器的agent要启动)->完成即可    
   
  (二)   请求订阅的配置  
   
  订阅服务器上执行以下操作  
   
  (1)   从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]  
  (2)   选择[请求新订阅]   打开请求订阅向导  
  (3)   [下一步]选择已注册的发布  
  (4)   [下一步]选择创建订阅的数据库  
  (5)   [下一步]选择匿名订阅或署名订阅  
  (6)   [下一步]   初始化订阅   选择初始化架构和数据  
  (7)   [下一步]选择快照文件的存放位置   一般采用发布服务器的默认快照文件夹  
  **(8)   [下一步]设置分发代理程序调度   可以选择订阅更新内容的间隔  
  (9)   [下一步]系统会提示检查发布服务器的代理服务的运行状态  
  (10)   [下一步]   完成配置  
   
   
  -------------------------------------------------------------------------  
  -------------------------------------------------------------------------  
  /*   错误   14114   未将"(null)"配置为分发服务器   */  
  /*   SQL   Server企业管理器未能检索到有关使用该分发服务器的发布服务器的信息   错误5   [SQL-DMO]代码执行异常错误:EXCEPTION_ACCESSS_VIOLATION   */  
   
  --出现这种问题,主要是   @@servername   的信息因某种原因丢失  
   
  --执行下面的语句,完成后重新启动SQL服务  
   
  declare   @server   sysname  
  set   @server   =   cast(serverproperty('servername')   as   sysname)  
  exec   sp_addserver   @server   =   @server   ,   @local   =   'LOCAL'Top

3 楼xiaoyu1423(笑语)回复于 2005-06-13 11:51:48 得分 0

谢谢楼上,我先试试!Top

4 楼NewQger(Q哥)回复于 2005-06-13 16:38:28 得分 1

好多啊,还没看Top

5 楼xiaoyu1423(笑语)回复于 2005-06-14 09:55:48 得分 0

谢谢各位,一会开始结账了!Top

相关问题

  • 各位急救!
  • 各位大侠,救命啊。我要急疯了!
  • 急急急~~~!!!各位老大!!半个月了!!TOMCAT快把我搞疯了啊!!!!!!!!!
  • 请教各位!!急!
  • 急,各位救我
  • 请教各位,急!!
  • 急,求助各位!
  • 急,求助各位!
  • 各位大侠!!急!急!
  • 急,急,各位帮忙啊!!!!!!!!!

关键词

  • sql server 2000
  • 服务器
  • 数据库
  • 数据
  • 选择
  • 属性
  • 向导
  • 复制
  • 订阅
  • 分发

得分解答快速导航

  • 帖主:xiaoyu1423
  • 631799
  • 631799
  • NewQger

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo