欢迎投稿

今日深度:

在Sql2000 sql2005 sql2008 下已能实现事务复制的强制

在Sql2000 sql2005 sql2008 下已能实现事务复制的强制订阅,但请求订阅始终不能实现总有下列错误提示,sql2005sql2008


 


硬件环境 :

    一台服务器 安装了 sqlserver2008 数据库  

局域网另一台机器 安装了 sqlserver2000数据库  

两台服务器 通信 共享均没有问题


同步过程中遇到的问题  :

在Sql2000下已能实现事务复制的强制订阅,但请求订阅始终不能实现总有下列错误提示: 进程未能读取文件 "\\快照路径” 因为发生操作系统错误 5。. 步骤失败


数据库的 【订阅】 、【发布】 设置步骤 :

做了 从sql2008 到sql2000的数据同步 ,在sql2008数据库  复制--->本地发布 -->新建发布  



用sqlserver2008 远程连接到 sqlserver2000 在 复制-->本地订阅-->新建订阅  



sqlserver 2008代理服务启动  生成了相应的快照。


sqlserver2000端订阅启动代理时一直无法访问 共享文件。  提示 进程未能读取文件 "\\快照路径” 因为发生操作系统错误 5。. 步骤失败


解决办法:

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆  网上搜了很久 ,一直没成功 我自己的解决办法如下:☆ 


在安装sqlserver2008中的服务器中:


 1、添加一个用户 : (本地用户和组 )中添加一个用户如: userxyz  让其隶属于 administrators  。

2、找到发布的快照文件夹 ,在共享中 把 userxyz  用户加入进去。


在安装sqlserver2008中的服务器中:


 1、添加一个用户 : (本地用户和组 )中添加一个用户如: userxyz  让其隶属于 administrators  。 (注意 此用户的用户名和密码必须与 sqlserver2008安装的服务器中添加的用户名密码相同)!!!!

2、在服务中 找到 SQLSERVERAGENT  代理服务  右键 属性 --->登录  --->此用户 -->浏览 选择 刚才的 usexyz  ---> 输入 usexzy的密码 --->点击确定 -->重新启动代理服务。


sqlserver 2008 服务器中数据库  --->  本地发布 ---->  重新生成快照  

sqlserver 2000 服务器中数据库 ---> 本地订阅--->重新订阅    。

 成功同步数据。



  




SQL2000发布与复制的问题

SQLServer2000使用三种类型的复制1.快照复制快照复制可精确地复制数据或数据库对象在任一时刻的瞬时状态。快照发布通常被定义为按调度发生。订阅服务器包含发布的项目在上次快照复制时的复本。当源数据相对来说是静态的,订阅服务器可能已有些过期,以及要复制的数据量很少时,使用快照复制。2.事务复制在事务复制中,一般先通过快照复制使订阅服务器与发布服务器同步,然后,当发布数据被修改时,捕获事务并将其发送到订阅服务器。通过在发布服务器上进行所有的修改,然后将所有修改复制到订阅服务器,得以在订阅服务器间维护事务完整性。当必须在数据被修改时对其进行复制,必须保留事务,以及发布服务器和订阅服务器通过网络可靠和/或经常地连接在一起时,使用事务复制。3.合并复制合并复制使多个站点得以自主地使用一组订阅服务器,然后过一段时间将工作合在一起合并到发布服务器。通过快照复制使订阅服务器与发布服务器同步。对订阅服务器和发布服务器上的更改进行跟踪。过一段时间,合并更改以形成单个的数据版本。在合并过程中,如果多个订阅服务器修改相同的数据,可能会发生冲突。合并复制支持冲突解决程序的定义,即用来定义如何解决上述冲突的规则集。也可以编写自定义冲突解决程序脚本,以处理正确解决复杂冲突情形所需的任何逻辑。当自主运行对于订阅服务器计算机(例如移动的脱接用户)很重要时,或者当多个订阅服务器必须更新相同的数据时,使用合并复制。

Microsoft SQL Server 2000复制的概念:在数据库之间对数据和数据库对象进行复制和分发并进行同步以确保其一致性的一组技术。

使用复制可以将数据分发到不同位置,通过局域网、使用拨号连接、通过 Internet 分发给远程或移动用户。复制还能够使用户提高应用程序性能,根据数据的使用方式物理分隔数据(例如,将联机事务处理 (OLTP) 和决策支持系统分开),或者跨越多个服务器分布数据库处理。

SQL复制的基本元素包括:

发布服务器、订阅服务器、分发服务器、发布、项目。

发布服务器

发布服务器是提供数据以便复制到其它服务器的服务器。发布服务器可以具有一个或多个发布,每个发布代表一组逻辑相关的数据。除了指定其中哪些数据需要复制之外,发布服务器还检测事务复制期间发生更改的数据并维护有关此站点上所有发布的信息。

分发服务器

分发服务器是作为分发数据库宿主并存储历史数据和/或事务以及元数据的服务器。分发服务器的角色根据执行的复制类型而不同。有关更多信息,请参见复制类型。

远程分发服务器是独立于发布服务器并配置为复制的分发服务器的服务器。本地分发服务器是既配置为复制的发布服务器又配置为复制的分发服务器的服务器。

订阅服务器

订阅服务器是接收复制数据的服务器。订阅服务器订阅的是发布而不是发布中分离的项目;并且订阅服务器只订阅其需要的发布,而不是发布服务器上所有可用的发布。根据复制的类型和所选择的复制选项,订阅服务器还可以将数据更改传播回发布服务器或将数据重新发布到其它订阅服务器。

发布

发布是一个数据库中的一个或多个项目的集合。这种多个项目的分组使得指定逻辑相关的一组数据和数据库对象以一起复制变得更容易。

项目

项目是指定要复制的数据表、数据分区或数据库对象。项目可以是完整的表、某几列(使用垂直筛选)、某几行(使用水平筛选)、存储过程或视图定义、存储过程的执行、视图、索引视图或用户定义函数。

订阅

订阅是对数据或数据库对象的复本的请求。订阅定义将接收的发布和接收的时间、地点。订阅的同步或数据分发可以由发布服务器(强制......余下全文>>
 

问,利用SQL Server2008复制技术,实现数据库读写分离,订阅服务器只负责读操作,还会出现复制冲突?

你在哪里抄来抄了错误的东西吗?或者你尝试刷新数据。
显然是数据库连接字符串,不,啊,你要连接本地(local)数据库实例名称不会是localhost
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2814.html NewsArticle 在Sql2000 sql2005 sql2008 下已能实现事务复制的强制订阅,但请求订阅始终不能实现总有下列错误提示,sql2005sql2008 硬件环境 : 一台服务器 安装了 sqlserver2008 数据库 局域网另一台机器 安...
评论暂时关闭