SqlServer数据库同步方案详解
dbsyncer sqlserver数据同步原理
DBSyncer是一种专门用于数据同步的工具,它能够实现不同数据库之间的数据同步,包括SQL Server数据库。
在了解DBSyncer如何进行SQL Server数据同步之前,我们需要先了解一些SQL Server数据库的基本知识。
1. SQL Server数据库SQL Server是由微软公司开发的关系型数据库管理系统,它为用户提供了存储、检索和管理数据的功能。
SQL Server数据库以其稳定性、高性能和丰富的功能而被广泛应用于各种企业和组织中。
在数据同步过程中,SQL Server数据库通常扮演着重要的角色。
2. 数据同步原理数据同步是指将两个或多个数据源中的数据进行更新和同步,使它们保持一致性。
在SQL Server数据库中,数据同步通常包括以下几个步骤:2.1 数据抽取数据抽取是指从源数据库中提取需要同步的数据,并将其转换成适合目标数据库的格式。
在SQL Server中,可以使用DBSyncer提供的数据抽取工具来实现数据的抽取。
2.2 数据转换数据转换是指将抽取出的数据进行格式转换和清洗,以便在目标数据库中正确地存储和使用。
DBSyncer提供了丰富的数据转换功能,可以满足不同数据库间数据格式的转换需求。
2.3 数据加载数据加载是指将经过转换的数据加载到目标数据库中,确保数据的完整性和一致性。
DBSyncer的数据加载工具能够快速、高效地将数据加载到SQL Server数据库中。
3. DBSyncer数据同步工具DBSyncer是一种专门用于数据同步的工具,它提供了丰富的功能和灵活的配置选项,可以满足不同数据库间数据同步的需求。
在进行SQL Server数据同步时,DBSyncer可以通过以下步骤实现:3.1 连接源数据库需要在DBSyncer中配置源数据库的连接信息,包括数据库类型、连接位置区域、用户名和密码等。
3.2 配置数据同步任务在连接成功后,可以通过DBSyncer提供的任务配置界面,设置数据同步的规则、映射关系、转换规则等参数,确保数据可以在不同数据库间正确地同步和转换。
SQLSERVER数据同步方案
SQLSERVER数据同步方案SQL Server是一种常用的关系型数据库管理系统,用于存储和管理大量的结构化数据。
在分布式环境中,数据同步是一项重要的任务。
数据同步方案可以确保多个数据库实例之间的数据保持一致性,从而避免数据冲突和错误。
以下是针对SQL Server的数据同步方案的一些建议和实践。
一、数据同步需求:1.数据一致性:确保多个数据库实例的数据保持同步,避免冲突和错误。
2.数据可靠性:保证数据的完整性和可用性,确保数据不会丢失或损坏。
3.数据时效性:实时或定期同步数据,以便及时反映最新的数据变更。
二、实现数据同步的方法:1. 事务复制(Transaction Replication):将源数据库中的事务日志传播到目标数据库,实现对数据的实时复制和同步。
这种方法适合于需要实时同步数据的场景,例如多个数据库实例用于读写分离或负载均衡。
2. 快照复制(Snapshot Replication):将源数据库中的数据复制到目标数据库,以实现数据的初始复制。
这种方法适用于数据量较大的场景,例如主备数据库之间的数据同步。
3. 合并复制(Merge Replication):将多个数据库实例之间的数据变更合并到一起,以实现数据的双向同步。
这种方法适用于分布式系统中数据频繁变更的场景,例如销售和服务人员经常离线工作的场景。
4. 数据同步工具:通过使用第三方工具(如Attunity Replicate、GoldenGate等)来实现数据的实时同步和复制。
这种方法可以提供更高级的数据同步功能,例如数据转换、过滤和冲突解决等。
三、数据同步实施步骤:1.确定数据同步需求:确定数据同步的频率、方向和粒度要求,以及特定的业务需求和目标。
2.设计数据同步方案:根据数据同步需求,选择适合的数据同步方法,并设计相应的架构和算法。
3.配置源数据库和目标数据库:配置源数据库和目标数据库的连接和权限,以便正确读取和写入数据。
SQLServer2024数据库复制实现数据库同步备份超强图文教程
SQLServer2024数据库复制实现数据库同步备份超强图文教程SQL Server 2024数据库复制是一种数据库同步备份的技术,可以将数据从一个数据库复制到另一个数据库,以实现数据的同步备份。
下面是一个超强图文教程,介绍了SQL Server 2024数据库复制的具体实现步骤。
步骤1:准备工作首先,在SQL Server Management Studio中创建两个数据库,一个作为源数据库,另一个作为目标数据库。
可以使用以下命令创建数据库:```CREATE DATABASE sourceDB;CREATE DATABASE targetDB;```步骤2:启用数据库复制在源数据库上右键单击,选择“属性”,然后选择“复制”选项卡。
在该选项卡中,选择“启用复制”复选框并保存更改。
步骤3:选择发布方式在复制选项卡上,选择“发布方式”为“事务复制”。
这意味着所有更改都将在源数据库事务提交后立即复制到目标数据库。
步骤4:选择发布数据库和对象在复制选项卡上,选择要发布到目标数据库的表和视图。
默认情况下,所有表和视图都将被发布。
您还可以选择仅发布特定的表和视图。
步骤5:配置目标数据库服务器在目标数据库上右键单击,选择“属性”,然后选择“复制”选项卡。
在该选项卡中,填写源数据库服务器的名称和登录凭据。
步骤6:初始化目标数据库在目标数据库上右键单击,选择“复制”>“生成快照”。
这将初始化目标数据库并创建与源数据库相同的表和视图。
请注意,在初始化期间,目标数据库将不可用。
步骤7:开始复制完成初始化后,源数据库和目标数据库将开始自动同步。
所有更改都会自动复制到目标数据库。
步骤8:监控复制进程可以通过查看“复制”>“查看复制状态”来监控复制进程。
这将显示复制的表和视图以及复制状态的详细信息。
步骤9:验证数据同步可以通过在源数据库上执行一些更改,然后检查目标数据库中的数据是否同步来验证数据同步。
确保源数据库和目标数据库的表和视图中的数据一致。
SqlServer数据库同步方案详解
SqlServer数据库同步是项目中常用到的环节,若一个项目中的数据同时存在于不同的数据库服务器中,而这些数据库需要被多个不同的网域调用时,配置SqlServer数据库同步是个比较好的解决方案。
SqlServer数据库同步的配置比较烦锁,下面对其配置详细步骤进行介绍:一、数据复制前提条件1. 数据库故障还原模型必需为完全还原模型。
2. 所有被同步的数据表都必须要用主键。
3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。
4. SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。
二、解决前提条件实施步骤1. 将数据库故障还原模型调整为完全还原模型。
具体步骤如下:打开SQLSERVER企业管理器——选择对应的数据库——单击右键选择属性——选择”选项”——故障还原模型选择完全还原模型。
2. 所有被同步的数据表都必须要用主键。
(主要指事务复制)如果没有主键的数据表,增加一个字段名称为id,类型为int 型,标识为自增1的字段。
3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。
在企业管理器里面注册的服务器,如果需要用作发布服务器、分发服务器和订阅服务器,都必需以服务器名称进行注册。
不得使用IP地址以及别名进行注册,比如LOCAL, “.”以及LOCALHOST等。
如果非同一网段或者远程服务器,需要将其对应关系加到本地系统网络配置文件中。
文件的具体位置在%systemroot%\system32\drivers\etc\hosts配置方式: 用记事本打开hosts文件,在文件的最下方添加IP地址和主机名的对应关系。
如图:SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。
启动SQLSERVER代理的方法:我的电脑——单击右键”管理”——服务——SQLSERVERAGENT 将其设为自动启动。
dbsyncer sqlserver数据同步原理 -回复
dbsyncer sqlserver数据同步原理-回复SQL Server是一种关系型数据库管理系统(RDBMS),它被广泛用于存储和管理企业级应用程序中的数据。
在实际应用中,SQL Server数据库通常会存在多个分布式节点上,这些节点之间需要实时同步数据以保持数据的一致性。
为了实现数据库的实时同步,SQL Server提供了一种名为"dbsyncer"的工具,本文将介绍dbsyncer实现SQL Server数据同步的原理。
什么是dbsyncer?dbsyncer是SQL Server数据库同步工具的一种,它提供了实时的、双向的、增量的数据同步功能。
通过dbsyncer,可以将分布式的SQL Server数据库节点之间的数据进行实时同步,以确保数据的一致性。
dbsyncer是基于SQL Server数据库的特性和功能进行开发的,因此它可以很好地与SQL Server数据库集成。
dbsyncer的工作原理是什么?dbsyncer的数据同步原理是通过捕获和应用数据库的变更日志来实现的。
在SQL Server中,数据库的变更操作(如插入、更新、删除等)会被记录在日志文件中,这些日志文件可以用于恢复和复制数据。
dbsyncer通过监视源数据库的变更日志文件,捕获其中的变更操作,然后将这些变更操作应用到目标数据库中,实现数据的同步。
具体来说,dbsyncer的工作步骤如下:1. 捕获变更日志:dbsyncer通过监视源数据库的变更日志文件,实时捕获其中的变更操作。
它会记录下捕获的变更操作的类型(如插入、更新、删除)、涉及的表、行、列等信息。
2. 提交捕获的变更:dbsyncer将捕获的变更操作提交到目标数据库,以进行数据的同步。
它会根据变更操作的类型,在目标数据库中执行相应的SQL语句,如插入新的行、更新已有行、删除行等。
3. 处理冲突:在进行数据同步时,可能会出现冲突,即源数据库和目标数据库上对同一行进行了不同的变更操作。
SqlServer数据库主从同步
SqlServer数据库主从同步分发/订阅模式实现SqlServer主从同步在⽂章开始之前,我们先了解⼀下⼏个关键的概念:分发服务器分发服务器是负责存储在同步过程中所⽤复制信息的服务器。
可以⽐喻成报刊发⾏商。
分发数据库分发数据库⽤于存储发布数据库所做的更改。
它还可以存储快照和合并发布的历史信息。
存在于系统数据库中,默认为destribution.发布服务器使服务器能够成为发布服务器后使⽤此分发服务器。
它通过复制向其他位置提供数据。
可以⽐喻成报刊出版商,实际⽣产报刊的地⽅。
发布数据库包含要发布的数据或对象的数据库,即主库。
订阅服务器从库(slave节点)所在的数据服务器。
可以⽐喻成阅读报刊的⼈环境准备1.SqlServer2008R2数据库2.启动数据库服务器SQL Server 代理 (MSSQLSERVER)服务配置分发分发服务器可以和发布服务器是同⼀台服务器,也可以单独指定分发服务器。
本⽂以同⼀台服务器为例。
1)选择当前服务器作为分发服务器2)启动SqlServer代理3)配置快照⽂件夹快照是可以存储主库数据架构和初始数据,也可以存储主库某⼀段时间内数据库发⽣的变化。
4)配置分发数据库分发数据库以数据库⽂件的形式存储主库发布的数据变化。
新建发布1)选择发布数据库2)选择发布类型SqlServer数据库提供了以下四种发布类型:快照发布发布服务器按预定的时间间隔向订阅服务器发送已发布数据的快照。
可以理解为发布数据库将⼀段时间间隔内的数据变化打包到数据⽂件中,⼀次性提交给订阅服务器。
适⽤于数据量⼩,允许数据延迟的主从数据库同步。
事务发布在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。
创建了初始快照后,接着在发布服务器上所做的数据更改和数据结构更改通常在修改后同步传递给订阅服务器,数据更改将按照其在发布服务器上的事务顺序应⽤于订阅服务器,保证了发布内的事务⼀致事务发布能够将发布数据变化的信息及时传递给订阅服务,并在短时间内完成。
SQL Server触发器实现不同服务器数据同步
测试环境及同步要求:有数据库服务器srv1和srv2,两台电脑能互相访问,有数据srv1.库名..author有字段:id,name,phone,srv2.库名..author有字段:id,name,telphone,adress要求:srv1.库名..author增加记录则srv2.库名..author记录增加srv1.库名..author的phone字段更新,则srv2.库名..author对应字段telphone更新--*/--大致的处理步骤--1.在srv1 上创建连接服务器,以便在srv1 中操作srv2,实现同步exec sp_addlinkedserver 'srv2','','SQLOLEDB','srv2的sql实例名或ip'exec sp_addlinkedsrvlogin 'srv2','false',null,'用户名','密码'go--2.在srv1 和srv2 这两台电脑中,启动msdtc(分布式事务处理服务),并且设置为自动启动我的电脑--控制面板--管理工具--服务--右键Distributed Transaction Coordinator--属性--启动--并将启动类型设置为自动启动go--3.实现同步处理--a.在srv1..author中创建触发器,实现数据即时同步--新增同步create trigger tr_insert_author on authorfor insertasset xact_abort on --如果执行Transact-SQL 语句产生运行时错误,则整个事务将终止并回滚。
insert srv2.库名.dbo.author(id,name,telphone)select id, name, telphone from insertedgo--修改同步create trigger tr_update_author on authorfor updateasset xact_abort onupdate b set name=,telphone=i.telphonefrom srv2.库名.dbo.author b,inserted iwhere b.id=i.idgo--删除同步create trigger tr_delete_author on authorfor deleteasset xact_abort ondelete bfrom srv2.库名.dbo.author b,deleted dwhere b.id=d.idgo上面的触发器是同步更新到链接的同构sql server服务器上的,如果链接服务器不是24小时都可用的,则要定时提交更新--在srv1中创建如下的同步处理存储过程create proc p_processas--更新修改过的数据update b set name=,telphone=i.telphonefrom srv2.库名.dbo.author b,author iwhere b.id=i.id and(<> or b.telphone<>i.telphone)--插入新增的数据insert srv2.库名.dbo.author(id,name,telphone)select id,name,telphone from author iwhere not exists(select * from srv2.库名.dbo.author where id=i.id)--删除已经删除的数据(如果需要的话)delete bfrom srv2.库名.dbo.author bwhere not exists(select * from author where id=b.id)go--然后创建一个作业定时调用上面的同步处理存储过程就行了企业管理器--管理--SQL Server代理--右键作业--新建作业--"常规"项中输入作业名称--"步骤"项--新建--"步骤名"中输入步骤名--"类型"中选择"Transact-SQL 脚本(TSQL)"--"数据库"选择执行命令的数据库--"命令"中输入要执行的语句: exec p_process--确定--"调度"项--新建调度--"名称"中输入调度名称--"调度类型"中选择你的作业执行安排--如果选择"反复出现"--点"更改"来设置你的时间安排然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行总结:1. 这个是用于同构的sql server服务器之间的同步2. 没有采用增量同步技术,直接对比两张表找出不同,大数据量下不适用。
MSSQLServer2016数据库怎么实现数据库同步备份
MS SQL Server 2008数据库怎么实现数据库同步备份?SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份。
这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用。
它是一种优于文件备份的数据库备份解决方案。
在选择数据库同步备份解决方案时,我们评估了两种方式:SQL Server 2008的数据库镜像和SQL Server 2008数据库复制。
数据库镜像的优点是系统能自动发现主服务器故障,并且自动切换至镜像服务器。
但缺点是配置复杂,镜像数据库中的数据不可见(在SQL Server Management Studio中,只能看到镜像数据库处于镜像状态,无法进行任何数据库操作,最简单的查询也不行。
想眼见为实,看看镜像数据库中的数据是否正确都不行。
只有将镜像数据库切换主数据库才可见)。
如果你要使用数据库镜像,强烈推荐killkill写的SQL Server 2005 镜像构建手册,我们就是按照这篇文章完成了数据库镜像部署测试。
最终,我们选择了SQL Server 2008数据库复制。
下面通过一个示例和大家一起学习一下如何部署SQL Server 2008数据库复制。
测试环境:Windows Server 2008 R2 + SQL Server 2008 R2(英文版),两台服务器,一台主数据库服务器CNBlogsDB1,一台备份数据库服务器CNBlogsDB2。
复制原理:我们采用的是基于快照的事务复制。
主数据库服务器生成快照,备份库服务器读取并加载该快照,然后不停地从主数据库服务器复制事务日志。
见下图:图片来自SQL Server 联机丛书安装与配置步骤:一、在两台服务器上安装好SQL Server 2008 R2,主要安装的组件:DatabaseEngine(含SQL Server Replication),Management Tools 。
SQL SERVER数据同步方案
基于sql server的订阅和分布功能中的对等事务复制,实现数据实时双向同步。
当用户在数据库上修改数据时,相应的修改会实时显示在公司的数据库上;当开发人员在公司的的数据库中修改数据时,相应的修改在用户的数据库中也会实时显示。
分别以公司服务器上的SQL server2005作为A数据库,sql server 2012作为B数据库,作为测试数据库;通过配置对等事务复制,创建一个由A数据库和B数据库两个节点组成的拓扑,实现数据库的实时同步。
1、首先,在SQL server2005实例中创建TEST数据库,里面包含[dbo].[test_data]表,作为测试数据使用,如图所示:2、确保A、B数据库两个节点都在运行SQL SERVER代理,确保在配置拓扑后运行日志读取器代理和分发代理。
3、在A、B数据库上配置分发4、在第一个节点上创建发布(以A数据库作为第一个节点)4.1展开“复制”文件夹,右键单击“本地发布”文件夹4.2单击“新建发布”4.3在新建发布向导的“发布数据库”页上,选择要发布的数据库(选择TEST数据库)4.4在“发布类型”页上,选择“事务发布”4.5在“项目”页上,选择要发布的数据库对象(选择dbo.test_date)4.6 筛选表行不做配置,直接通过(不支持筛选对等发布)4.7在“快照代理”页上,清除“立即创建快照”(我的理解是快照代理不做配置)4.8在“代理安全性”页上,指定快照代理和日志读取器代理的凭据(点击安全设置按钮,在快照代理安全性中,选择在SQL SERVER代理服务账户下运行、使用以下SQL SERVER 登录名)配置完如下所示4.9在“向导操作”页上,根据需要,可以选择为发布编写脚本4.10在“完成该向导”页上,指定发布的名称(发布名称在整个拓扑上必须相同,原因是配置对等拓扑向导在每个节点上创建发布时使用此名称)指定好发布名称之后,点击确定,就生成了一个发布,相应的会出现在复制文件下的本地发布5 为对等复制启用发布5.1 展开本地发布文件夹5.2右键单击创建的发布,再单击“属性”5.3在“发布属性”对话框中的“订阅选项”页上,为“允许对等订阅”属性选择True 值6、初始化每个节点的架构和数据(备份A实例中TEST数据库,在B实例中还原)在配置拓扑之前,每个节点上必须存在初始数据。
SqlServer2016数据库同步配置图文详解
SqlServer2005 数据库同步配置图文详解<1>软件准备条件 机器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise (作为发布服务器) 机器B端:Sqlserver2005 Management Studio Express + WinXP(作为订阅服务器) 一:【准备条件】 <1>软件准备条件 机器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise (作为发布服务器) 机器B端:Sqlserver2005 Management Studio Express + WinXP(作为订阅服务器) (可以用别的,不过订阅服务器版本不得高于发布服务器版本) <2>数据库复制准备条件 1. 所有被同步的数据表尽量要用主键,如果没有主键也没有关系,SqlServer会提示为表自动生成主键,如图 2. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。
3. SQLSERVER必需启动代理服务,且代理服务必须以本地计算机的帐号运行。
不得使用IP地址以及别名进行注册,比如LOCAL, “.”以及LOCALHOST等。
如果非同一网段或者远程服务器,或者只能用IP,不能用计算机名的,为对方注册服务器别名。
将其对应关系加到本地系统网络配置文件中。
文件的具体位置在C:\Windows\system32\drivers\etc\hosts 配置方式: 用记事本打开hosts 文件,在文件的最下方添加IP 地址和主机名的对应关系。
如图: 4.SqlServer 必需启动代理服务,且代理服务必需以本地计算机的帐号运行。
5.发布服务器和订阅服务器都要设置MSDTC ,允许网络访问控制面板--->管理工具--->组件服务--->计算机--->我的电脑(Win7继续找 -->Distributed Transaction Coordinator--->本地DTC),右键属性,找到MSDTC 选项卡,点击安全设置,按如下设置即可 )教党 确定,重启MSDTC服务。
SQL Server数据同步
公司有一台很重要SQL数据库,如何实现数据库实时同步?一、客户需求客户现在有一个需求,公司有一台很重要SQL数据库,怕有一天服务器或者系统崩溃,导致所有SQL数据库数据丢失,客户想把数据库数据,通过某种方式将数库进行实时同步到另外一台服务器上,这样可以做个backup。
那客户这个需求如何实现呢?二、解决方案:通过分析与研究,使用的是SQL自带的发布与订阅功能,旧的SQL Server版本是2008,新安装一个SQL Server 2014版本,通过旧SQL Serer发布,再通过SQL Server2014订阅,来同步数据库数据。
三、实现过程3.1、发布发布前准备:首先两个服务器之间要能相互通讯,也就是能ping命令能通。
平时我们连接数据库时,经常都是用的ip登陆,但是发布的时候不能这样,必须用服务器名称。
如果在不同网段的两台数据库服务器,可以在两台服务器hosts文件中添加对应的IP地址和主机名。
在旧服务器上,打开SQL Server数据库软件,进行发布SQL数据库。
1、旧服务器上,找到复制--本地发布,右击新建发布。
2、选择需要发布的数据库名称。
3、选择事务发布。
4、在此数据库中,查看表,是否都可以正常的被发布,如下图所示,有些表无法正常发布,那该怎么办?5、发现是由于这些表中没有主键,需要给这三张表设置主键。
6、设置主键。
8、发现还有一个表无法发布。
9、查看原因。
10、需要将此表中的,阻止保存要求重新创建表的更改项勾选去掉。
11、去掉后,发现此表可以正常设置主键。
12、可以看到所有的表都可以正常发布了。
13、下一步。
14、选择添加。
15、选择立即创建快照并使快照保持可用状态,以初始化订阅。
16、选择安全设置。
17、输入数据库的sa用户名和密码。
18、选择下一步。
这时要注意,需要将数据库的代理服务开启,和SQL browser服务开启。
19、创建发布。
20、新建一个发布名称。
21、发布成功。
sqlserver主从同步
sqlserver主从同步 sql server 作为⽬前主流的数据库,⽤户遍布世界各地。
sql server也有⼀些⽐较成熟的主备⽅案,⽬前主要有:复制模式(发布-订阅模式)、镜像传输模式、⽇志传输模式、故障转移集群。
后⾯会⼀⼀介绍介绍各⾃的优缺点。
(⼀)复制模式 复制模式也被称为发布-订阅模式,是由主服务器进⾏发布消息,备份服务器进⾏订阅,当主服务器数据发⽣变更时,就会发布消息,备份服务器读取消息进⾏同步更新,中间过程延迟⽐较短。
复制⽅式是以前很常见的⼀种主备,速度快,延迟⼩,可以⽀持部分同步等优点,但是也有⼀个很明显的缺点,因为是部分同步,如果是表修改,可以主动同步,但是如果是新增表、视图等操作,必须在发布属性中,将新加的表或者视图添加到同步配置中,否则对这个表做的任何操作都不会同步。
复制模式同步,要求数据库名称和主机名称必须⼀致,否则查找不到数据库主机;要求数据库不能使⽤端⼝,必须是可以通过ip直接访问的; 主要分为以下4种发布⽅式: 1.快照发布 快照发布,就是将所有要发布的内容,做成⼀个镜像⽂件,然后⼀次性复制到订阅服务器,两次快照之间的更新不会实时同步。
这种⽅式占⽤带宽较多,因此⽐较适⽤内容不是很⼤,或者更新不需要很频繁的场景 2.事务发布/具有可更新订阅的事务发布 事务发布,是在第⼀次设置好事务复制之后,所有发布的内容都会进⾏镜像快照,订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。
当主服务器数据发⽣变更时,会通过⽇志传递同步给订阅服务器,数据近似于同步更新。
此⽅式会对主服务器性能造成很⼤影响(实时同步每次变更,⽽不是最终变更),适⽤于对数据及时性要求⽐较严格主备⽅案,但是⽬前已被微软提供的集群Always On所取代。
3.合并发布 合并发布是相当于两台都是主服务器,都可以对数据进⾏更新修改等操作,然后定时将发布服务器上的内容与订阅服务器上的内容进⾏合并,并根据配置保留相应内容,此种很少⽤。
如何同步两个SQLServer数据库的内容
如何同步两个SQLServer数据库的内容?程序代码可以有版本管理CVS进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致.各位有什么好的方法吗?分发与复制用强制订阅实现数据库同步操作大量和批量的数据可以用数据库的同步机制处理:说明:为方便操作,所有操作均在发布服务器(分发服务器)上操作,并使用推模式在客户机器使用强制订阅方式。
测试通过--1:环境服务器环境:机器名称:ZehuaDb操作系统:Windows 2000 Server数据库版本:SQL 2000 Server 个人版客户端机器名称:Zlp操作系统:Windows 2000 Server数据库版本:SQL 2000 Server 个人版--2:建用户帐号在服务器端建立域用户帐号我的电脑管理->本地用户和组->用户->建立UserName:zlpUserPwd:zlp--3:重新启动服务器MSSQLServer我的电脑->控制面版->管理工具->服务->MSSQLServer 服务(更改为:域用户帐号,我们新建的zlp用户.\zlp,密码:zlp)--4:安装分发服务器A:配置分发服务器工具->复制->配置发布、订阅服务器和分发->下一步->下一步(所有的均采用默认配置) B:配置发布服务器工具->复制->创建和管理发布->选择要发布的数据库(SZ)->下一步->快照发布->下一步-> 选择要发布的内容->下一步->下一步->下一步->完成C:强制配置订阅服务器(推模式,拉模式与此雷同)工具->复制->配置发布、订阅服务器和分发->订阅服务器->新建->SQL Server数据库->输入客户端服务器名称(ZLP)->使用SQL Server 身份验证(sa,空密码)->确定->应用->确定D:初始化订阅复制监视器->发布服务器(ZEHUADB)->双击订阅->强制新建->下一步->选择启用的订阅服务器->ZLP->下一步->下一步->下一步->下一步->完成--5:测试配置是否成功复制监视器->发布服务器(ZEHUADB)->双击SZ:SZ->点状态->点立即运行代理程序查看:复制监视器->发布服务器(ZEHUADB)->SZ:SZ->选择ZLP:SZ(类型强制)->鼠标右键->启动同步处理如果没有错误标志(红色叉),恭喜您配置成功--6:测试数据--在服务器执行:选择一个表,执行如下SQLinsert into WQ_NEWSGROUP_S select '测试成功',5复制监视器->发布服务器(ZEHUADB)->SZ:SZ->快照->启动代理程序->ZLP:SZ(强制)->启动同步处理去查看同步的WQ_NEWSGROUP_S 是否插入了一条新的记录测试完毕,通过。
如何在两个SQLSERVER之间数据同步
如何在两个SQLSERVER之间数据同步在两个SQL Server之间进行数据同步,可以通过多种方法实现,包括使用SQL Server功能和第三方工具。
下面是一种基本的方法,其中包含了使用SQL Server功能进行实时同步和使用第三方工具进行批量同步的步骤:1.实时同步:-使用数据库镜像或事务复制功能进行数据同步。
这种方法适用于需要实时同步的情况,其中一个服务器充当主服务器(发布者),另一个服务器充当从服务器(订阅者)。
在这种情况下,数据更改将立即传播到从服务器。
-配置数据库镜像:在主服务器上创建数据库镜像,并将其配置为主服务器和从服务器之间的同步。
这种方法适用于高可用性和灾难恢复的情况。
- 配置事务复制:使用SQL Server事务复制功能可以将数据更改从主服务器传播到从服务器。
这种方法适用于需要将数据更改传播到多个从服务器的情况。
2.批量同步:-使用复制功能进行数据同步。
这种方法适用于大规模的数据同步,可以在定期的时间间隔内进行批量同步。
-配置事务复制:使用事务复制功能可以将数据更改从一个服务器复制到另一个服务器。
在这种情况下,数据更改将定期复制到另一个服务器。
-配置合并复制:使用合并复制功能可以将多个服务器的数据更改合并到一个服务器。
合并复制适用于多个服务器之间的双向同步。
无论使用哪种方法,需要注意以下几个方面:-确保两个服务器之间的网络连接可靠,可以通过网络监控来保证。
-定期备份数据库:在进行数据同步之前,确保在主服务器和从服务器上都进行了数据库备份。
这是避免数据损坏和数据丢失的重要步骤。
- 监控数据同步:在进行数据同步之后,需要进行监控,确保同步过程稳定可靠。
可以使用SQL Server的系统视图和工具进行监控,如查看系统视图sys.dm_repl_monitor、SQL Server Agent作业日志等。
-搭建测试环境:在进行数据同步之前,最好先在测试环境中进行测试,以确保同步过程不会对生产环境产生负面影响。
sqlserver订阅模式同步原理
sqlserver訂閱模式同步原理SQL Server是一种常用的关系型数据库管理系统,它提供了多种数据同步方案,其中订阅模式是一种常见且实用的同步方式。
本文将介绍SQL Server订阅模式的原理和实现方法。
SQL Server的订阅模式是一种异步的数据同步方式,它可以将数据从一个数据库实例复制到另一个数据库实例,实现数据的实时更新和同步。
订阅模式通常用于分布式系统中,例如主从复制、数据仓库等场景。
订阅模式的原理是基于发布者/订阅者模式。
在SQL Server中,发布者是指发布数据的数据库实例,而订阅者是指接收数据的数据库实例。
发布者将数据更改的操作记录保存在发布者数据库的事务日志中,然后将这些操作记录传输给订阅者。
订阅者根据收到的操作记录,对自己的数据库进行相应的数据更新操作,从而实现数据的同步。
具体来说,订阅模式包括以下几个关键步骤:1. 配置发布者和订阅者:首先需要在SQL Server中配置发布者和订阅者。
发布者和订阅者可以是同一个数据库实例,也可以是不同的数据库实例。
配置发布者和订阅者的过程包括创建发布者和订阅者的数据库、定义发布者和订阅者之间的连接等。
2. 创建发布:在发布者数据库中,需要创建一个发布对象。
发布对象定义了要发布的表、视图或存储过程等对象,以及发布的方式和规则。
可以选择全量发布或增量发布,全量发布会将整个表的数据复制到订阅者,而增量发布只会复制更改的数据。
3. 创建订阅:在订阅者数据库中,需要创建一个订阅对象。
订阅对象定义了订阅者要接收的数据对象,以及接收数据的方式和规则。
可以选择即时订阅或定期订阅,即时订阅会立即接收发布者的数据变更,而定期订阅则按照一定的时间间隔接收数据变更。
4. 启动数据同步:一旦发布和订阅对象创建完毕,就可以启动数据同步了。
发布者会将数据更改的操作记录保存在事务日志中,并将这些操作记录传输给订阅者。
订阅者根据接收到的操作记录,对自己的数据库进行相应的数据更新操作。
sql server数据库同步的5种方法
sql server数据库同步的5种方法SQL Server数据库同步的5种方法1. 数据备份和还原•使用SQL Server Management Studio (SSMS) 或 Transact-SQL (T-SQL) 命令行工具进行数据库备份。
•将备份文件复制到目标服务器上。
•在目标服务器上使用SSMS或T-SQL命令行工具进行数据库还原。
2. 跨服务器复制•在源服务器和目标服务器上启用数据库复制。
•创建发布者和订阅者之间的连接。
•配置发布者和订阅者之间的交互,确保数据可以在服务器之间同步。
3. 数据迁移工具•使用第三方数据迁移工具,如SQL Server Integration Services (SSIS)。
•在源服务器上导出数据库并保存为包文件。
•在目标服务器上导入并执行包文件,将数据复制到目标数据库中。
4. SQL Server AlwaysOn可用性组•在源服务器上创建可用性组并将其配置为主服务器。
•在目标服务器上加入可用性组作为从属服务器。
•配置可用性组的自动故障转移和数据同步设置,以确保数据始终保持同步。
5. 数据库复制•在源服务器上启用数据库复制。
•创建发布者和订阅者之间的连接。
•配置发布者和订阅者之间的交互,使数据可以在服务器之间同步。
以上是SQL Server数据库同步的五种常用方法,根据实际需求和场景选择合适的方法进行数据库同步操作。
每种方法都有其优缺点,需要根据具体情况进行权衡。
无论选择哪种方法,都需要注意保证数据的完整性和一致性。
1. 数据备份和还原•备份数据库:使用SQL Server Management Studio (SSMS) 或Transact-SQL (T-SQL) 命令行工具来备份数据库,以生成一个备份文件。
备份文件中包含了数据库的所有数据和对象定义。
•复制备份文件:将生成的备份文件复制到目标服务器上的指定位置。
•还原数据库:在目标服务器上使用SSMS或T-SQL命令行工具来还原数据库。
SQLServer数据库CDC数据同步配置
SQLServer数据库CDC数据同步配置SQL Server 开启CDC数据同步1、数据库需要开启代理服务。
开启⽅式:a). 点击开始菜单àSQL Serverà配置管理⼯具àSQLserver服务àSQLserver代理à(右键)启动b). 打开电脑服务,找到SQLserver 代理,点击左侧状态2、数据库配置a).⾸先查看数据库是否已经开启CDC服务SELECT name,is_cdc_enabled FROM sys.databases WHERE is_cdc_enabled = 1;返回已经开启CDC的数据库,如果为空,则所有的库都没有开启CDC服务,转到步骤b,对数据库开启CDC。
如果有结果,则转到步骤c。
b).对数据库开启CDC服务USE test; -- 切换数据库EXECUTE sys.sp_cdc_enable_db; -- 开启CDC功能检查是否开启成功:SELECTis_cdc_enabled,CASE WHEN is_cdc_enabled=0 THEN 'CDC功能禁⽤' ELSE 'CDC功能启⽤' END 描述FROM sys.databasesWHERE NAME = ‘test’ –- 你的数据库名称创建成功后,将⾃动添加CDC⽤户和CDC架构。
在⽤户和架构下⾯可以看到cdc⽤户和cdc架构c.查看当前已经开启CDC的数据表。
SELECT name,is_tracked_by_cdc FROM sys.tables WHERE is_tracked_by_cdc = 1;d.开启表CDCsys.sp_cdc_enable_table[ @source_schema = ] 'source_schema',[ @source_name = ] 'source_name' ,[ @role_name = ] 'role_name'[,[ @capture_instance = ] 'capture_instance' ][,[ @supports_net_changes = ] supports_net_changes ][,[ @index_name = ] 'index_name' ][,[ @captured_column_list = ] 'captured_column_list' ][,[ @filegroup_name = ] 'filegroup_name' ][,[ @partition_switch = ] 'partition_switch' ]⽰例:对'USRALMHS'表开启变更捕获EXEC sys.sp_cdc_enable_table@source_schema= 'dbo', --源表架构@source_name = 'USRALMHS', --源表@role_name = 'CDC_Role' --⾓⾊(将⾃动创建)GO--如果不想控制访问⾓⾊,则@role_name必须显式设置为null。
SQLSERVER的异地数据同步功能
SQLSERVER的异地数据同步功能SQL Server的异地数据同步功能是指可以将位于不同地理位置的多个SQL Server数据库实例中的数据进行同步,确保数据的一致性和可靠性。
这种功能对于具有跨地理位置的多个数据中心或分支机构的组织来说非常重要,它提供了数据的高可用性和容灾能力。
异地数据同步功能有以下几个关键概念和组件:1. 发布者(Publisher):数据的源数据库,包含要同步的数据。
2. 分发器(Distributor):负责将发布者的数据变更分发给订阅者。
3. 订阅者(Subscriber):接收分发器分发的数据变更,将其应用到本地数据库。
4.发布订阅模型:异地数据同步使用发布订阅模型,发布者将数据更改发布,订阅者接收并应用这些变更。
异地数据同步功能使用了SQL Server的复制技术来实现数据的同步,主要有以下几种同步方式:1.事务性复制:将发布者上每个事务的更改逻辑发送给订阅者,确保发布者和订阅者上的数据一致。
这种方式适合需要实时数据同步的场景。
2.合并复制:将发布者和订阅者上的数据更改进行合并,确保数据的一致性。
订阅者可以对数据进行更改,合并复制会将这些更改应用到其他订阅者上。
这种方式适合多个订阅者之间需要双向同步的场景。
3.快照复制:将发布者上的数据定期快照并发送给订阅者,订阅者接收到快照后,将其应用到本地数据库。
这种方式适合数据变更频率较低的场景。
异地数据同步功能还提供了一些常见功能和优势:1.灵活的拓扑结构:异地数据同步功能支持多个发布者和多个订阅者之间的数据同步,可以根据实际需求设计灵活的拓扑结构。
2.实时性和延迟:异地数据同步功能可以实现实时数据同步,确保所有的数据更改都可立即在所有订阅者上可见。
同时,也可以设置同步延迟,以应对网络不稳定或延迟的情况。
3.冲突解决:在合并复制中产生的数据冲突,可以由异地数据同步功能自动解决,减少了管理员的手动干预。
4.增量复制:异地数据同步功能只传输数据的变更内容,而不是整个数据,减少了数据的传输量和网络带宽的占用。
dbsyncer sqlserver数据同步原理 -回复
dbsyncer sqlserver数据同步原理-回复SQL Server 数据同步是指将一个数据库的数据和对象结构复制到另一个数据库的过程。
这种同步可以通过多种方式实现,包括使用DBSyncer 这样的工具,或者通过编写自定义脚本来实现。
本文将探讨DBSyncer 在SQL Server 数据同步中的原理和操作步骤。
首先,我们需要了解DBSyncer 是什么。
DBSyncer 是一种第三方工具,专门用于在SQL Server 数据库之间进行数据同步。
它提供了一种简单而高效的方法来解决数据库同步的问题。
DBSyncer 支持从不同版本的SQL Server 数据库之间进行数据同步,并且可以根据需要选择复制的数据表和对象。
下面是DBSyncer 在SQL Server 数据库同步中的原理和操作步骤:1. 安装DBSyncer首先,需要从DBSyncer 的官方网站上下载并安装DBSyncer 软件。
安装过程非常简单,只需要按照安装向导的提示一步一步完成即可。
2. 配置源数据库在DBSyncer 中,我们需要配置源数据库的连接信息。
这包括数据库服务器的名称、登录凭据、数据库名称等。
在配置完成后,DBSyncer 将连接到源数据库以获取需要同步的数据。
3. 配置目标数据库类似地,我们还需要配置目标数据库的连接信息。
这个过程与配置源数据库类似,只是要连接到目标数据库。
4. 创建同步任务在DBSyncer 中,我们可以创建一个或多个同步任务。
每个同步任务都对应着一个源表和一个目标表。
在创建同步任务时,我们需要指定源表和目标表的名称以及字段映射关系。
5. 定义过滤条件在同步任务中,我们可以定义一些过滤条件,以筛选需要同步的数据。
这些过滤条件可以根据需要选择指定的数据行。
6. 启动同步任务在完成同步任务的配置后,我们可以启动同步任务。
DBSyncer 将自动连接到源数据库,并开始复制数据到目标数据库。
我们可以在任务列表中查看同步任务的状态和进度。
SqlServer主从数据库同步方法
SQL Server 2008 R2 主从数据库同步一、准备工作:主数据库服务器:OS:Windows Server 2008 R2 DB: SQL Server 2008 R2 Hostname : CXMasterDBIP: 192.168.1.224/24 dg: 192.168.1.1DNS: 192.168.1.19 DNS: 202.96.209.133从数据库服务器:OS:Windows Server 2008 R2 DB: SQL Server 2008 R2 Hostname : CXSlaveDBIP: 192.168.1.225/24 dg: 192.168.1.1DNS: 192.168.1.19 DNS: 202.96.209.133//主数据库Northwind,如下图所示://从CXSlaveDB中,没有数据库Northwind,如下图所示:二、创建SQL Server数据库的管理员用户和共享文件夹权限,设置SQL Server服务和SQL Server代理的登录用户为sqladmin1. 在主数据库CXMasterDB服务器上创建用户sqladmin,如下图所示:win + R ---> lusrmgr.msc回车,如下图所示://设置sqladmin的权限2. 同理,在从数据库CXSlaveDB服务器上创建用户sqladmin且加入administrators组,其他都删除之!3. 分别在主从数据库服务器上创建用于存放主从备份日志文件的共享文件夹DB_Backpup且共享权限和NTFS权限,如如下图所示:4. 分别从主数据库服务器上和从数据库服务器上打开SQLServer配置管理器,将SQLServer服务和SQLServer代理服务的“登录身份为”sqladmin 用户且启动模式为:自动,如下图所示:三、配置SQLServer日志传送1. 在主数据库服务器CXMasterDB上配置//用sqladmin连接到本地SQL Server数据库服务器//在数据库实例中,配置服务器身份验证模式和服务器代理帐户2. 在主数据库服务器CXMasterDB中的Northwind数据库的属性的配置//在Northwind数据库的属性 --> 选项的配置//在Northwind数据库的属性 --> 事务日志传送的配置//事务日志备份设置,如下图所示://在上图中,点击计划…后,弹出如下图所示:一路确定!见到下图为止!//添加辅助数据库实例和数据库//连接到辅助服务器实例和辅助数据库//辅助数据库设置--->初始化辅助数据库注:下面查看看,辅助服务器CXSlaveDB中数据库的数据文件和日志文件的文件夹的路径//辅助数据库设置--->复制文件//在上图中击点计划(E) …则弹出如下图所示,设置从数据库还原日志的计划任务://辅助数据库设置--->还原事务日志//在上图中击点计划(E) …则弹出如下图所示,设置从数据库还原日志的计划任务://将配置信息导出到文件//在下图中点击确定后,一目了然了!三、验证SQL Server 2008 R2主从数据库是否同步1. 我们去从服务器CXSlaveDB看看是否有Northwind数据库,由下图所示,可见成功了!2. 现在我们去主数据库服务器CXMasterDB中Northwind数据库添加如下图所示的表://创建表名为雇员通讯录//刷新下,就可见到 dbo.雇员通讯录,如下图所示:3. 现在我们去从数据库服务器CXSlaveDB的Northwind数据库是否有表dbo.雇员通讯录,如下图所示:思考:下面我们到主数据库服务器CXMasterDB的Northwind数据库中,删除表dbo.雇员通讯录看看从数据库CXSlaveDB的Northwind数据库中的表dbo.雇员通讯录,是否也被删除了?附:1. 如何删除Northwind(备用 / 只读)数据库//在数据库属性–-> 选项 ---> 状态 --->数据库为只读修改为 False即可!能删除吗???数据库同步 SQL Server 2008 R2 SQL主从数据库同步 SQL 2008同步。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SqlServer数据库同步是项目中常用到的环节,若一个项目中的数据同时存在于不同的数据库服务器中,而这些数据库需要被多个不同的网域调用时,配置SqlServer数据库同步是个比较好的解决方案。
SqlServer数据库同步的配置比较烦锁,下面对其配置详细步骤进行介绍:一、数据复制前提条件1. 数据库故障还原模型必需为完全还原模型。
2. 所有被同步的数据表都必须要用主键。
3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。
4. SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。
二、解决前提条件实施步骤1. 将数据库故障还原模型调整为完全还原模型。
具体步骤如下:打开SQLSERVER企业管理器à选择对应的数据库à单击右键选择属性à选择”选项”à 故障还原模型选择完全还原模型。
2. 所有被同步的数据表都必须要用主键。
(主要指事务复制)如果没有主键的数据表,增加一个字段名称为id,类型为int 型,标识为自增1的字段。
3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。
在企业管理器里面注册的服务器,如果需要用作发布服务器、分发服务器和订阅服务器,都必需以服务器名称进行注册。
不得使用IP地址以及别名进行注册,比如LOCAL, “.”以及LOCALHOST等。
如果非同一网段或者远程服务器,需要将其对应关系加到本地系统网络配置文件中。
文件的具体位置在%systemroot%\system32\drivers\etc\hosts配置方式: 用记事本打开hosts文件,在文件的最下方添加IP地址和主机名的对应关系。
如图:SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。
启动SQLSERVER代理的方法:我的电脑à单击右键”管理”à服务à SQLSERVERAGENT 将其设为自动启动。
如图:以本地计算机帐户运行的配置方法: 打开SQLSERVER企业管理器,选择管理SQLSERVER代理。
单击右键属性。
将系统帐户更改为本地帐户且此本地帐号要求有系统管理员的权限。
一般设置为administrator这个帐户。
以上前提条件满足以后,就可以配置数据库复制服务了。
三、了解复制配置概念和原理1.数据复制角色复制服务有三个角色,分别是发布服务器,分发服务器和订阅服务器。
他们分别做不同的工作。
就像我们日常买书和报纸的概念是一样的。
发布服务器: 也称为出版服务器,主要负责数据的发布和出版工作。
这个角色就好比我们的出版社或者报社。
分发服务器: 主要负责将发布服务器的内容分发给订阅者。
他是连接发布服务器和订阅服务器的桥梁。
这个角色就好比我们的邮递员,将书和报纸送到我们的手里。
订阅服务器: 主要负责接收发布的内容。
这个角色就好比我们自己订阅书和报纸,是一个订阅者的角色。
2. 数据订阅模式数据订阅的模式有推式订阅和拉式订阅两种。
推式订阅主要是分发服务器将数据推给订阅服务器。
拉式订阅是订阅服务器主动向分发服务器取数据。
这就好比我们自己订阅杂志和报纸一样,如果人家送货上门,这就是推式订阅,消耗的是分发服务器的资源,也就是消耗送货人员的资源。
如果是拉式订阅,我们就需要自己到书店去购买,这样消耗的就是我们自己的资料。
消耗的是订阅服务器的资源。
3.数据发布类型数据发布类型可发为三种(SQL2000):A. 快照复制当符合以下一个或多个条件时,使用快照复制本身是最合适的:· 很少更改数据。
· 在一段时间内允许具有相对发布服务器已过时的数据副本。
· 复制少量数据。
· 在短期内出现大量更改B. 事务复制事务性复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务性复制:· 希望发生增量更改时将其传播到订阅服务器。
· 从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时间较短。
· 应用程序需要访问中间数据状态。
例如,如果某一行更改了五次,事务性复制将允许应用程序响应每次更改(例如,激发触发器),而不只是响应该行最终的数据更改。
· 发布服务器有大量的插入、更新和删除活动。
C. 合并复制合并复制通常用于服务器到客户端的环境中。
合并复制适用于下列各种情况:· 多个订阅服务器可能会在不同时间更新同一数据,并将其更改传播到发布服务器和其他订阅服务器。
· 订阅服务器需要接收数据,脱机更改数据,并在以后与发布服务器和其他订阅服务器同步更改。
· 每个订阅服务器都需要不同的数据分区。
· 可能会发生冲突,并且在冲突发生时,您需要具有检测和解决冲突的能力。
· 应用程序需要最终的数据更改结果,而不是访问中间数据状态。
例如,如果在订阅服务器与发布服务器进行同步之前,订阅服务器上的行更改了五次,则该行在发布服务器上仅更改一次来反映最终数据更改(也就是第五次更改的值)。
四、数据复制实施步骤A. 配置发布服务器打开SQLSERVER企业管理器à选择已注册的SQL服务器à工具à向导弹出选择向导后,选择“配置发布和分发向导”后,出现如下向导: 点击”下一步”选择此服务器作为分发服务器和分发服务器,点击下一步选择快照文件夹,注意此处必段要使用网络路径。
点击下一步,使用默认设置,点击下一步后点击完成, 出现正在配置对话框,如下图:配置完成后出现如下对话框:此时,说明我们的发布服器配置成功了!点击确定后,会谈出如下窗口。
如下图:此时SQLSERVER企业管理器中多了一项复制监视器。
如下图:发布服务器配置成功以后,我们可以开始来配置发布服务器了。
B.配置分发服务器分发可以配置在分发服务器上,也可以配置到其他的SQLSERVER服务器上。
此处我们将分布服务器和分发服务器配置在同一台服务器上。
下面是需要发布数据库的配置步骤:打开SQLSERVER企业管理器à选择已注册的SQL服务器à工具à向导弹出选择向导后,点击”复制”选择”创建发布向导”,选择需要发布的数据库。
如下图:点击“创建发布”后,出现向导,点击“下一步”出现如下界面:此界面要求确认选择需要发布的数据库,系统会自动选中第一次选择的数据库,只需要点击“下一步”后出现如下界面:此时需要选择发布的类型,跟据我们对发布类型的描述和网络带宽情况,选择合适的发布类型,比较常用的是快照发布和事务发布。
下面就以这两个发布为例进行配置。
首先我们选择快照发布,点击“下一步”, 出现如下界面:此时向导提示我们选择订阅服务器的类型。
由于我们现在用的都是SQL SERVER 2000, 所以此时我们只选择“运行SQL SERVER 2000的服务器”即可(系统默认选项),然后点击“下一步”,出现如下界面:此时出现选择数据库对象进行发布,我们可以全部选择,也可只选择需要发布的表、存储过程、视图以及自定义函数等。
我们点击表的“全部发布”,点击“下一步”,出现如下界面:由于我们采用的是快照复制,所以会出现一个”IDENTITY属性未传输到订阅服务器的问题(就是指不会转输int类型为自增1的属性,但是数据会进行传输)”,此时我们点击下一步, 出现如下界面:出现以上界面后,我们再次点击“下一步”,会出现如下对话框:可以选择对定义数据的筛选,比如进行垂直(数据的列)或者水平(数据的行)的筛选。
此处我们选择否(系统默认),然后点击”下一步”, 如下图:出现配置完成的界面,点击完成即可。
如下图:发布服务器创建完成后,会出现如下界面:致此,发布服务器的配置就完成了。
此时我们可以通过复制监视器来查看现有服务器的各项复制代理的工作情况。
如下图:当发布服务器配置完成以后,我们可以被发布的数据库多了一个手托着的图标。
如下图:注:如果需要对某数据库进行事务复制,只需要在分布类型中选择“事务发布”就可以了。
如下图:其他操作与快照复制相同。
需要注意的是“事务复制”要求数据表必需要有主键,否则无法对表进行发布。
发布服务器配置完成以后,我们可能进行订阅服务器的配置了。
C. 配置订阅服务器订阅服务器有两种方式。
一种是推式订阅,一种是拉式订阅。
具体选择那一种订阅方式。
需要考虑几方面的因素:① 对网络的考虑比如外网远程服务器需要订阅本地数据,由于本地服务器没有公网IP,则需要采取由本地向远程服务器进行推式订阅,即强制订阅的形式。
② 对服务器性能的考虑比如订阅服务器和分发服务器都是外网IP地址或者内网IP地址。
但是要求复制过程中不会对分发服务器产生过大的压力。
此时,我们可以采取拉式订阅的方式。
拉式订阅消耗的是订阅服务器的资源,而不会对分发服务器的性能产生大的影响。
推式订阅的具体配置如下:打开SQLSERVER企业管理器à选择已注册的SQL服务器工具向导复制创建强制订阅向导。
如下图:选择需要强制订阅的数据库,单击“强制新订阅“后出现了强制新订阅的欢迎向导。
如下图:点击“下一步”,选择需要订阅服务器,如下图:单击“下一步”,出现订阅数据库的名称, 如下图:此时,创建一个适合的数据库名点“浏览或创建”就可以选择现有的数据库或者创建一个新的数据库了。
如下图:如果需要新建一个数据库,我们可以点击“新建”,出现了新建数据库的对话框。
如下图: 新建完数据库之后,点击“下一步”如下图:选择分发代理何时更新订阅内容,可以使用最短的滞后时间,也可以选择使用调度,此时我们选择连续池(默认设置),然后点击”下一步”, 出现如下界面:点击“下一步”进行初始化架构和数据, 此时系统会检测SQLSERVER代理服务的工作状态。
如下图:如果状态是“正在运行”,可点击“下一步”,如果状态是未知,则需要检查一下SQLSERVER代理服务是否启动,如果没有,则需要启动一下SQLSERVER的代理服务。
点击”下一步”之后,出现配置完成界面,如下图:点击“完成”,并开始配置订阅了。
如下图:至此推式订阅配置完成。
(拉式订阅配置与此基本相同,需要在订阅服务器上通过复制向导配置请求订阅即可)。