`

利用MSSQL复制技术 实现数据同步

 
阅读更多

复制的概念

 

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

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

---------------------------------------------------------------------------
SQL复制的基本元素包括

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

发布服务器
发布服务器是提供数据以便复制到其它服务器的服务器。发布服务器可以具有一个或多个
发布,每个发布代表一组逻辑相关的数据。除了指定其中哪些数据需要复制之外,发布服
务器还检测事务复制期间发生更改的数据并维护有关此站点上所有发布的信息。
分发服务器
分发服务器是作为分发数据库宿主并存储历史数据和/或事务以及元数据的服务器。分发
服务器的角色根据执行的复制类型而不同。有关更多信息,请参见复制类型。
远程分发服务器是独立于发布服务器并配置为复制的分发服务器的服务器。本地分发服务
器是既配置为复制的发布服务器又配置为复制的分发服务器的服务器。
订阅服务器
订阅服务器是接收复制数据的服务器。订阅服务器订阅的是发布而不是发布中分离的项目;
并且订阅服务器只订阅其需要的发布,而不是发布服务器上所有可用的发布。根据复制的类
型和所选择的复制选项,订阅服务器还可以将数据更改传播回发布服务器或将数据重新发布
到其它订阅服务器。
发布
发布是一个数据库中的一个或多个项目的集合。这种多个项目的分组使得指定逻辑相关的一
组数据和数据库对象以一起复制变得更容易。
项目
项目是指定要复制的数据表、数据分区或数据库对象。项目可以是完整的表、某几列(使用垂
直筛选)、某几行(使用水平筛选)、存储过程或视图定义、存储过程的执行、视图、索引视图
或用户定义函数。
订阅
订阅是对数据或数据库对象的复本的请求。订阅定义将接收的发布和接收的时间、地点。订阅的
同步或数据分发可以由发布服务器(强制订阅)或订阅服务器(请求订阅)请求。发布可以支持
强制订阅和请求订阅的混合。
---------------------------------------------------------------------------
SQL复制的工作原理
SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务
器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器
分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些
改变分发给订阅服务器

---------------------------------------------------------------------------
SQL SERVER复制技术类型,三种复制技术,分别是(详细的说明参考SQL联机帮助):
1、快照复制
2、事务复制
3、合并复制

============================================================================
下介绍实现复制的步骤。(以快照复制为例)

准备工作:

1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户
--我的电脑
--控制面板
--管理工具
--计算机管理
--用户和组
--右键用户
--新建用户
--建立一个隶属于administrator组的登陆windows的用户

2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作:

我的电脑--D:\ 新建一个目录,名为: PUB
--右键这个新建的目录
--属性--共享
--选择"共享该文件夹"
--通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限
--确定


3.设置SQL代理(SQLSERVERAGENT)服务的启动用户(发布/订阅服务器均做此设置)

开始--程序--管理工具--服务
--右键SQLSERVERAGENT
--属性--登陆--选择"此账户"
--输入或者选择第一步中创建的windows登录用户名
--"密码"中输入该用户的密码

4.设置SQL Server身份验证模式,解决连接时的权限问题(发布/订阅服务器均做此设置)

企业管理器
--右键SQL实例--属性
--安全性--身份验证
--选择"SQL Server 和 Windows"
--确定

5.在发布服务器和订阅服务器上互相注册
企业管理器
--右键SQL Server组
--新建SQL Server注册...
--下一步--可用的服务器中,输入你要注册的远程服务器名--添加
--下一步--连接使用,选择第二个"SQL Server身份验证"
--下一步--输入用户名和密码
--下一步--选择SQL Server组,也可以创建一个新组
--下一步--完成

6.对于只能用IP,不能用计算机名的,为其注册服务器别名
(在连接端配置,比如,在订阅服务器上配置的话,服务器名称中输入的是发布服务器的IP)
开始--程序--Microsoft SQL Server--客户端网络实用工具
--别名--添加
--网络库选择"tcp/ip"--服务器别名输入SQL服务器名
--连接参数--服务器名称中输入SQL服务器ip地址
--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号

==============================================================================

正式开始:

1.配置发布服务器

a. 选中指定 [服务器] 节点
b. 从 [工具] 下拉菜单的 [复制] 子菜单中选择 [发布、订阅服务器和分发] 命令
c. 系统弹出一个对话框点 [下一步] 然后看着提示操作
--直到"指定快照文件夹"
--在"快照文件夹"中输入准备工作中创建的目录: \\<服务器名>\pub
一[下一步] 直操作到完成。
d. 当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器
同时也生成一个分发数据库(distribution)


---------------------------------------------------------------------------

2.创建发布
a. 选中指定的服务器
b. 从 [工具] 菜单的 [复制] 子菜单中选择 [创建和管理发布] 命令。此时系统会弹出
一个对话框
c. 选择要创建发布的数据库,然后单击 [创建发布]
d. 在 [创建发布向导] 的提示对话框中单击 [下一步] 系统就会弹出一个对话框。对话
框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个
大家可以去看看帮助)
e. 单击 [下一步] 系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在
不同的数据库如 ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行
"SQL SERVER 2000"的数据库服务器
f. 单击 [下一步] ,选择要发布的对象(如表,视图,存储过程,一般是表)
g. 然后 [下一步] 直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了
一个共享数据库。


---------------------------------------------------------------------------

3.设计订阅
a. 选中指定的订阅服务器
b. 从 [工具] 下拉菜单中选择 [复制] 子菜单的 [请求订阅]
c. 按照提示单击 [下一步] 操作直到系统会提示检查SQL SERVER代理服务的运行状态,执行
复制操作的前提条件是SQL SERVER代理服务必须已经启动。
d. 单击 [完成] 完成订阅操作。


----------------------------------------------------------------------------

完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?
这里可以通过这种方法来快速看是否成功。
展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度
把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。
接下来就是判断复制是否成功了打
开C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面
看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。

分享到:
评论

相关推荐

    如何实现MySQL的主从复制和半同步复制

    MySQL的主从复制和半同步复制是数据库集群中常见的高可用性和数据冗余策略,能够保证数据的一致性并提供故障恢复能力。本文将详细解释这两种复制方式的原理、配置步骤以及优缺点。 **一、MySQL主从复制** MySQL...

    mysql历史数据同步到clickhouse 已测试

    - **binlog同步**: 利用MySQL的二进制日志(binlog)进行实时数据同步。例如,可以使用`Maxwell`或`Canal`这样的工具监听MySQL的binlog事件,当MySQL中的数据发生变化时,将变更同步到ClickHouse。这种方式需要保持...

    基于MySQL组复制技术数据备份策略实现.pdf

    MySQL组复制技术的原理是基于状态机复制机制,建立在现有的MySQL复制基础结构上。它利用Paxos协议的原子广播原理,实现多主机全更新的复制协议。复制组由多个节点构造成一个数据库集群,组中的每个节点都可以独立地...

    MySQL.rar_mysql 数据同步_数据同步

    MySQL的数据同步主要通过复制技术实现,分为异步复制、半同步复制和全同步复制三种模式。双向数据同步则是让两个或多个MySQL实例之间互相复制数据,确保所有节点上的数据保持一致。以下我们将详细讲解这一过程。 1....

    mysql和Oracle的数据同步demo案例

    本案例主要探讨的是如何实现MySQL和Oracle数据库之间的数据同步。这两个数据库系统在业界广泛应用,它们各自具有独特的特性和优势,但有时需要将数据在两者之间进行迁移或实时同步。 MySQL是一款开源、轻量级的关系...

    java多个数据库实现数据同步

    6. **数据复制和迁移工具**:如Oracle GoldenGate、MySQL Replication或Apache Sqoop等,专门用于数据库之间的数据同步。这些工具提供了丰富的配置选项和强大的性能,但可能需要额外的学习成本。 7. **微服务架构**...

    特别有用的MySQL数据实时同步到ES轻松配置手册

    在当今大数据时代,实时数据同步成为许多企业和组织的关键需求,特别是从关系型数据库如 MySQL 到分布式搜索引擎如 ElasticSearch(ES)的实时同步。本文将详细介绍如何利用灵蜂数据集成软件 BeeDI 实现这一目标。 ...

    mysql 5.6 半同步复制步骤

    ### MySQL 5.6 半同步复制步骤详解 ...综上所述,MySQL 5.6 的半同步复制提供了一个强大的工具来增强数据复制过程中的数据完整性和可用性。通过遵循上述步骤,用户可以在实际生产环境中有效地部署和利用这一特性。

    MySQL数据库双活同步复制方案详解.pdf

    此外,可以利用MySQL 5.7+的多线程复制功能减少延迟,或者使用半同步复制(semi-sync)实现接近零延迟,但可能牺牲一定的并发性能。 **2. 基于Galera replication的方案** Galera replication是一种多主复制机制,...

    sqlserver与mysql数据库同步

    本主题将深入探讨如何实现SQL Server与MySQL数据库之间的数据同步,这对于确保数据一致性、实时性以及跨平台的数据交换具有重大意义。 首先,我们需要了解SQL Server和MySQL是两种不同类型的数据库管理系统。SQL ...

    数据同步技术白皮书 PDF

    ### 数据同步技术白皮书知识点概述 #### 一、数据同步技术的重要性 数据同步技术是现代信息技术领域中不可或缺的一部分,特别是在分布式系统环境中。随着互联网技术和云计算的发展,数据量的快速增长和分布式的应用...

    MySQL数据库的同步

    在实际应用中,Java可以利用JDBC(Java Database Connectivity)API来连接和操作MySQL数据库,实现数据的读取、写入以及监控复制状态。此外,Java还可以利用开源框架如Spring Data JPA、MyBatis等简化数据库操作,并...

    基于触发器和控制表的数据库同步系统

    在本系统中,MySQL作为主要的数据存储平台,触发器机制被用来实现数据同步。 4. **Java**:Java是一种跨平台的面向对象的编程语言,具有丰富的类库和强大的网络处理能力。Java用于开发此数据库同步系统,意味着系统...

    MySQL数据库双活同步复制方案详解.docx

    MySQL数据库双活同步复制方案是为了实现数据库的高可用性和数据一致性,主要分为几种常见的方法,包括MySQL原生复制主主同步、Galera replication、Group Replication以及第三方工具如canal。 1. MySQL原生复制主主...

    MySQL复制设置步骤

    MySQL复制机制是一种强大的技术,它允许不同计算机上的MySQL服务器之间保持数据的同步。本文将深入探讨MySQL复制的设置步骤,基于提供的文件内容,我们将重点讲解如何构建一个“主-从”镜像关系,以及在特定场景下...

    一种基于MySQL的数据同步中间件研究.pdf

    【描述】:本文主要研究了一种基于MySQL的数据同步中间件,旨在解决原生MySQL主从复制的局限性,支持更灵活的数据同步场景,包括库表结构不一致的情况以及同步到异构数据存储。 【标签】:MySQL 数据库 关系型...

    mysql并行复制降低主从同步延时的思路与启示

    并行复制的基本原理在于利用多线程机制来加速从库上的数据同步过程。具体而言,通过并行处理不同的数据库更新操作,可以在很大程度上减少主从之间的延迟。 1. **多线程并行重放Relay Log**:这是并行复制中最直接的...

    spring-batch同步数据库mysql源码

    在IT领域,数据同步是一项至关重要的任务,尤其是在分布式系统中,保持数据库的一致性是确保系统稳定运行的关键。Spring-Batch作为Spring框架的一部分,为批量处理和数据同步提供了强大的支持。本文将深入探讨Spring...

Global site tag (gtag.js) - Google Analytics