SQL Server 2008数据库同步配置
下面具体说一下步骤,首先我们说一下发布服务器上的准备工作和条件,先把Sql Server代理设置为自启动;对事务发布,确保数据库表要有主键;新建一个文件夹,设置为共享。
首先我们设置一下配置分发,如果之前做过配置分发设置,就是下图的效果,可以直接创建本地发布。
 
   
接着,一直下一步即可,在快照文件夹出注意一下
   
 
        
下一步,如果一开始没有设置Sql Server代理为自启动,就会提示这个
  
下一步,这个地方填写一开始创建好的共享文件夹地址,如F:\ShareFolder
  
下一步,默认填写
  
        
下一步,勾选配置分发
   
  
        
点完成,可以看到:
   
  
        
至此配置分发已经好了,接着就是创建本地发布了,
  
下一步选择要同步的数据库
   
  
        
这个地方选择事务发布,具体的每个发布可以看说明,后面也会讲到
  
下一步,如果你的数据库中有视图等,也会显示出来,勾选你要同步的对象
  
下一步,添加筛选项,如果需要就添加,不需要直接下一步,添加的界面右图
   
 
        
这里不做添加,下一步,勾选第一项
  
下一步,点安全设置,如下设置:
   
  
        
确定后如下:
  
下一步,勾选创建发布,下一步,填写一个发布名称
  
        
点完成
  
        
至此本地发布就创建好了,这时再展开复制-本地发布可以看到刚刚创建好的本地发布test
  
创建好了本地发布就要创建订阅了,为了方便就在本机做订阅,如果在其他服务器上做订阅流程是一样的只是在选择发布服务器时有点区别,下面会讲到
  
        
同样下一步,如果这地方是在本机订阅,则直接选择数据库和发布test,如果是订阅其他服务器上的发布,可以展开发布服务器,选择“查找sql server 发布服务器”
  
        
这个时候会弹出数据库登录界面,这里需要注意一下,服务器登录要用计算机名称,不能用IP地址或别名,还要注意,这个地方要链接发布服务器,因为确保发布服务器上数据库允许远程链接。链接上之后会在刚才的界面展示这个服务器上的发布,选择好发布,下一步即可,勾选第一项。
   
 
        
下一步,勾选上订阅服务器,选择订阅数据库,只要选择新建数据库就可以了。这时会弹出创建数据库对话框,创建一个数据库,
  
        
下一步,设置安全性
  
        
确定,下一步,同步计划选连续运行,初始化时间选择立即
  
        
下一步,选择立即创建订阅,一直下一步即可,至完成。这个时候展开复制下的本地发布和本地订阅,可以看到发布和订阅都存在了。而且刚才创建的订阅数据库TestDataDY在数据库中也存在了。
   
   
    
       
所有的工作都已经做好了,下面就是测试了。因为我们是把TestData作为发布的数据库,TestDataDY是订阅的数据库,因此我们在TestData数据库的表中添加或修改数据库,看TestDataDY数据库中的数据是否也跟着响应的改变。测试的过程可以自己手动的做一下。
接下来我们说一下其他的东西,第一个就是一开始我们创建的共享文件夹,他叫快照文件夹,顾名思义就是用来存放快照的。我们可以找到这个文件夹并打开看一下,一开始是空的文件夹,当我创建了发布和订阅以后,在此打开可以看到,有四个以发布的数据库命名的文件。这些就是数据库TestData中的表的初始架构和数据。
  
回顾上面创建订阅的时候创建的订阅数据库,我们只是创建了数据库,而数据库中的表、字段等我们没有创建,当我们创建好订阅以后,这些表和字段都自动的创建好了,就是通过快照文件夹中的初始架构和数据来完成的。
还有一个就是分发数据库distribution,他是可以找到的,他存在系统数据库中。
  
可以看到这个数据就一张表和一个字段,这个数据库主要的作用是用来存储历史记录、错误和新事务。
接着就是发布类型了,发布类型有快照发布,事务发布,具有可更新订阅的事务发布和合并发布。
快照发布:发布服务器按照预定的时间间隔向订阅服务器发送已发布数据的快照。他的工作机制是:发布服务器,将要发布的数据库整个做一个快照;订阅服务器的快照代理程序把发布服务器的快照读取过来,放在本地的快照文件夹内;订阅服务器的发布代理程序把快照文件夹中的快照发布到订阅服务器上。历史记录和快照记录在分发服务器中。
事物发布:在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。他的基本原理:初始数据和架构(通过快照复制来完成),从这里可以体现出来快照复制,是所有复制的基础 。快照复制在订阅服务器上建立了订阅数据库;发布服务器的数据修改后,写事务日志;分发服务器的日志读取代理读取发生改变的数据的事务日志,把这些事务日志保存在发布服务器的发布数据库中;分发服务器的分发代理程序 将分发数据库中的事务日志分发到各个订阅服务器上,然后把历史记录和错误记录在分发数据库中。
具有可更新订阅的事务发布: SQL Server 订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。来自订阅服务器的事务被应用于发布服务器。
合并发布:在订阅服务器收到已发布数据的初始快照后,发布服务器和订阅服务器可以独立更新已发布数据。更改会定期合并。Microsoft SQL Server Compact Edition 只能订阅合并发布。
这几个发布的区别是:
1、快照发布和事务发布是单向的,即A->B;合并发布是双向的,A->B,B->A。
2、快照复制是复制所有的数据,而事务复制和合并复制是复制数据的更改。
以上就是复制的整个流程了,不过这个只是简单是数据同步
SQL Server 2008数据库同步配置的更多相关文章
- SQL Server 2008 数据库同步的两种方式 (发布、订阅)
		参考转载: SQL Server 2008 数据库同步的两种方式 (发布.订阅) 使用Sqlserver事务发布实现数据同步 
- 【转】SQL Server 2008 数据库同步的两种方式 (发布、订阅)
		上篇中说了通过SQL JOB的方式对数据库的同步,这一节作为上一节的延续介绍通过发布订阅的方式实现数据库之间的同步操作.发布订阅份为两个步骤:1.发布.2.订阅.首先在数据源数据库服务器上对需要同步的 ... 
- 【转】通过SQL Server 2008数据库复制实现数据库同步备份
		SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数 ... 
- 通过SQL Server 2008数据库复制实现数据库同步备份
		SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主 ... 
- SQL Server 2008 数据库镜像部署实例之三  配置见证服务器
		SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ... 
- SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移
		SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移 上一篇文章已经为配置镜像数据库做好了准备,接下来就要进入真正的配置阶段 一.在镜像数据库服务器上设置安全性并启动数据 ... 
- 如何转换SQL Server 2008数据库到SQL Server 2005
		背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档 ... 
- SQL Server 2008 数据库镜像部署实例之一  数据库准备
		SQL Server 2008 数据库镜像部署实例之一 数据库准备 一.目标 利用Sql Server 2008 enterprise X64,建立异步(高性能)镜像数据库,同时建立见证服务器实现自动 ... 
- phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式
		开始也尝试自己配置php安装环境,找到一个详细的百度经验http://jingyan.baidu.com/article/154b46315242b328ca8f4101.html,前面有问题也一一去 ... 
随机推荐
- 分享一个客户端程序(winform)自动升级程序,思路+说明+源码
			做winform的程序,不管用没用过自动更新,至少都想过自动更新是怎么实现的. 我这里共享一个自动更新的一套版本,给还没下手开始写的人一些帮助,也希望有大神来到,给指点优化意见. 本初我是通过sock ... 
- 【转】Python字符编码详解
			转自:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 1. 字符编码简介 1.1. ASCII ASCII(American S ... 
- C++ 转型
			1.const_static的使用场景:接收一个const对象,但是想改变对象内容,使用const_static去除对象的常量性,然后可以修改对象. 2.dynamic_static的使用场景:从子类 ... 
- 用AJAX技术聚合RSS
			有时候,你的Blog可能需要这样的功能: 在自己Blog上聚合并显示朋友Blog的最新文章,这样方便自己及时了解朋友的消息,另外,也方便访问者找到和本Blog相关的blog和文章. 这个功能你可以叫它 ... 
- osg轮廓特效 【转】
			// -*-c++-*- /* * OpenSceneGraph - Copyright (C) 1998-2003 Robert Osfield * * This library is open s ... 
- iOS开发——控制器OC篇&UINavigationController&UITabBarController详解
			UINavigationController&UITabBarController详解 一:UINavigationController 控制器的属性: UINavigationControl ... 
- h5 -1
			<header></header> 页眉 主要用于页面的头部的信息介绍,也可用于板块头部 <hgroup></hgroup> 页面上的一个标题组合 一个 ... 
- centos 服务器配置(三) 之定时任务
			有些liunx系统已经自带定时任务crontab,但是有的新装系统还未安装定时任务,这个时候就需要我们手动对其进行安装. 安装crontab: yum install crontabs 说明: /sb ... 
- Golang学习 - unicode/utf8 包
			------------------------------------------------------------ // 编码所需的基本数字 const ( RuneError = '\uFFF ... 
- 去掉display:inline-block元素间的多余空白
			问题:每1个带display:inline-block;属性的链接 a 水平.垂直方向都带有一定的空白 关键在于父元素定义font-size:0 去掉行内块元素水平方向空白:子元素定义vertical ... 
