利用SQLServer2005复制订阅功能实现公网数据同步
- 格式:doc
- 大小:202.50 KB
- 文档页数:2
SQLSERVER数据同步方案SQL Server是一种常用的关系型数据库管理系统,用于存储和管理大量的结构化数据。
在分布式环境中,数据同步是一项重要的任务。
数据同步方案可以确保多个数据库实例之间的数据保持一致性,从而避免数据冲突和错误。
以下是针对SQL Server的数据同步方案的一些建议和实践。
一、数据同步需求:1.数据一致性:确保多个数据库实例的数据保持同步,避免冲突和错误。
2.数据可靠性:保证数据的完整性和可用性,确保数据不会丢失或损坏。
3.数据时效性:实时或定期同步数据,以便及时反映最新的数据变更。
二、实现数据同步的方法:1. 事务复制(Transaction Replication):将源数据库中的事务日志传播到目标数据库,实现对数据的实时复制和同步。
这种方法适合于需要实时同步数据的场景,例如多个数据库实例用于读写分离或负载均衡。
2. 快照复制(Snapshot Replication):将源数据库中的数据复制到目标数据库,以实现数据的初始复制。
这种方法适用于数据量较大的场景,例如主备数据库之间的数据同步。
3. 合并复制(Merge Replication):将多个数据库实例之间的数据变更合并到一起,以实现数据的双向同步。
这种方法适用于分布式系统中数据频繁变更的场景,例如销售和服务人员经常离线工作的场景。
4. 数据同步工具:通过使用第三方工具(如Attunity Replicate、GoldenGate等)来实现数据的实时同步和复制。
这种方法可以提供更高级的数据同步功能,例如数据转换、过滤和冲突解决等。
三、数据同步实施步骤:1.确定数据同步需求:确定数据同步的频率、方向和粒度要求,以及特定的业务需求和目标。
2.设计数据同步方案:根据数据同步需求,选择适合的数据同步方法,并设计相应的架构和算法。
3.配置源数据库和目标数据库:配置源数据库和目标数据库的连接和权限,以便正确读取和写入数据。
SQLServer2005数据库复制详细介绍对于⼀个地域分散的⼤型企业组织来说,构建具有典型的分布式计算机特征的⼤型企业管理信息系统时,总要解决⼀个很重要的问题:如何在多个不同数据库服务器之间保证共享数据的⼀致性。
之所以有这个重要的问题在于企业组织在不同地点对具有相同结构的本地数据库进⾏修改,但要保证修改后的数据库有相同的结果,其本质就是在对本地数据库的修改体现在其他具有相同数据的远程数据库中。
那么如何解决这个问题就要⽤到数据库的复制技术。
SQL SERVER提供了内置的复制能⼒,复制组件并不是附加产品,⽽是核⼼引擎的⼀部分。
在复制这个技术的⽀持下,⽤户可以跨局域⽹、⼴域⽹或因特⽹的不同数据服务器上维护数据的多个拷贝,从⽽保证数据的⼀致性。
复制模型;SQL SERVER使⽤出版和订阅这⼀术语来描述其复制活动,所谓出版,就是向其他数据库服务器(订阅者)复制数据,订阅就是从另外服务器(出版者)接收复制数据。
虽然出版和订阅的对象都是将数据复制,但出版和订阅却并不是不同⾓度的同⼀数据操作,⽽是体现出⼀定的层次性和顺序性(总是先进⾏出版,再进⾏订阅)。
SQL SERVER的复制组件有出版物与论⽂。
出版者、订阅者、推订阅和拉订阅。
(1)出版物和论⽂论⽂是被复制的数据集合,⼀篇论⽂⼀般就是咱们所说的表,论⽂是出版物的基本组成单元。
出版物是论⽂的集合。
它可以包括⼀个或多个论⽂订阅者,订阅的是出版物⽽不是出版物中的论⽂,这样可以使订阅更为简单。
(2)出版者出版者是出版出版物的服务器。
出版者服务器来维护源数据库以及有关出版物的信息。
使数据可⽤于复制。
除了决定哪些数据将被复制外,出版者要检测哪些复制数据发⽣了变化,并将这些变化复制到分发者的分发数据库中。
(3)分发者分发者是指把从出版者传递来的复制数据或事务等送⾄相应的订阅者的服务器,并负责维护分发数据库。
(4)订阅者订阅者是指存储复制数据的副本机器。
且接收并维护已出版的数据的服务器,订阅者也可以对出版数据进⾏修改,尽管订阅者可以对数据进⾏修改,但它仍是⼀个订阅者,当然订阅者也可以作为其他订阅者的出版者。
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 将其设为自动启动。
两台SQL Server服务器数据同步方案时间:2009-08-27 20:57来源:80后学习网作者:小牛点击:165次如何让多台SQL Server服务器实现数据同步呢,本章我会就这个问题来详细讲解的:两台SQL Server服务器数据同步解决方案复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。
使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。
复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
SQL复制的基本元素包括出版服务器、订阅服务器、分发服务器、出版物、文章SQL复制的工作原理SQL SERVER 主要采用出版物、订阅的方式来处理复制。
源数据所在的服务器是出版服务器,负责发表数据。
出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器SQL SERVER复制技术类型SQL SERVER提供了三种复制技术,分别是:1、快照复制(呆会我们就使用这个)2、事务复制3、合并复制只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。
接下来我们就一步一步来实现复制的步骤。
第一先来配置出版服务器(1)选中指定[服务器]节点(2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令(3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。
(4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。
同时也生成一个分发数据库(distribution)第二创建出版物(1)选中指定的服务器(2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。
此时系统会弹出一个对话框(3)选择要创建出版物的数据库,然后单击[创建发布](4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。
实验11 数据复制课堂练习一:配置数据复制目标综述能够配置发布、分发与订阅服务器,完成数据库之间的数据复制。
创建文件夹和共享准备工作1.需要2位同学相互配合完成该实验。
在此假设同学A的机器为发布与分发服务器,同学B为订阅服务器。
B需要在磁盘上新创文件夹并共享(假设共享文件夹名为Share),让A可以写入数据。
(注:同学A的机器称为服务器A,同学B的机器称为服务器B)2.如果两台服务器之间因实验环境配置失败,可将发布、分发与订阅服务器都设在同一台机器上,同样需要在机器上设置共享文件夹。
3.各服务器启动“SQL Server”服务与“SQL SERVER代理”服务。
4.如果出现服务器名称错误,按以下步骤修改服务器名a)运行SELECT@@ServerName 查询当前服务器名称(假设查询到的名称为E201);b)运行sp_dropserver'E201'删除服务器名称;c)运行sp_addserver 'Teacher','local'添加新的服务器名称(假设当前的机器名是Teacher);d)重启“SQL Server服务”,完成修改(如果修改失败再重复步骤a至d)。
配置分发服务器(在服务器A中配置)过程列表1.启动SQL Server Management Studio。
2.在“连接到服务器”对话框中,指定下表中的值,然后单击“连接”。
4.启动“配置分发向导”后,单击“下一步”。
5.在“分发服务器”选项中选择“将充当自己的分发服务器;SQL Server将创建分发数据库和日志”,单击“下一步”。
6.在“启动SQL Server代理”选项中,选择“否,我将手动启动SQL Server代理服务”,单击“下一步”。
7.在“快照文件夹”选项页中,输入共享路径\\服务器B\Share。
其他使用默认选项,单击“完成”开始配置分发服务器。
(如果需要更改默认选项,可单击“下一步”进入配置)8.“完成该向导”页面中列出分发服务器的配置信息,无需更改单击“完成”,如需要更改配置可单击“上一步”进行配置。
zlp321001@如何互相同步两个相同的sql数据库应用环境就是程序在两个地点运行的,两边都要操作修改数据,两地通过拨号连接,是用sql2000方便,还是2005方便,用2台机器就可以还是3台机器,用触发器还是别的方法实现?SQL code以下实现复制步骤(以快照复制为例)运行平台SQL SERVER 2005一、准备工作:1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密码,作为发布快照文件的有效访问用户。
2.在SQL SERVER下实现发布服务器和订阅服务器的通信正常(即可以互访)。
打开1433端口,在防火墙中设特例3.在发布服务器上建立一个共享目录,作为发布快照文件的存放目录。
例如:在D盘根目录下建文件夹名为SqlCopy4.设置SQL 代理(发布服务器和订阅服务器均设置)本篇文章发表于(小新技术网)打开服务(控制面板---管理工具---服务)---右击SQLSERVER AGENT---属性---登录---选择“此帐户“---输入或选择第一步中创建的WINDOWS 用户---“密码“中输入该用户密码5.设置SQL SERVER 身份验证,解决连接时的权限问题(发布、订阅服务器均设置)步骤为:对象资源管理器----右击SQL实例-----属性----安全性----服务器身份验证------选“SQL Server和WINDOWS“,然后点确定6.开启SQL Server 2005的网络协议TCP/IP和管道命名协议并重启网络服务。
7.在SQL Server中创建步骤1中对应的系统用户登陆名,作为发布数据库的拥有者(设置为dbo_owner和public)。
8.以系统超级用户sa登陆SQL Server建立数据库和表。
9.发布服务器和订阅服务器互相注册步骤如下:视图----单击以注册服务器----右键数据库引擎----新建服务器注册-----填写要注册的远程服务器名称------身份验证选“SQL Server验证“-----用户名(sa) 密码------创建组(也可不建)-----完成。
公司有一台很重要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之间数据同步在两个SQL Server之间进行数据同步,可以通过多种方法实现,包括使用SQL Server功能和第三方工具。
下面是一种基本的方法,其中包含了使用SQL Server功能进行实时同步和使用第三方工具进行批量同步的步骤:1.实时同步:-使用数据库镜像或事务复制功能进行数据同步。
这种方法适用于需要实时同步的情况,其中一个服务器充当主服务器(发布者),另一个服务器充当从服务器(订阅者)。
在这种情况下,数据更改将立即传播到从服务器。
-配置数据库镜像:在主服务器上创建数据库镜像,并将其配置为主服务器和从服务器之间的同步。
这种方法适用于高可用性和灾难恢复的情况。
- 配置事务复制:使用SQL Server事务复制功能可以将数据更改从主服务器传播到从服务器。
这种方法适用于需要将数据更改传播到多个从服务器的情况。
2.批量同步:-使用复制功能进行数据同步。
这种方法适用于大规模的数据同步,可以在定期的时间间隔内进行批量同步。
-配置事务复制:使用事务复制功能可以将数据更改从一个服务器复制到另一个服务器。
在这种情况下,数据更改将定期复制到另一个服务器。
-配置合并复制:使用合并复制功能可以将多个服务器的数据更改合并到一个服务器。
合并复制适用于多个服务器之间的双向同步。
无论使用哪种方法,需要注意以下几个方面:-确保两个服务器之间的网络连接可靠,可以通过网络监控来保证。
-定期备份数据库:在进行数据同步之前,确保在主服务器和从服务器上都进行了数据库备份。
这是避免数据损坏和数据丢失的重要步骤。
- 监控数据同步:在进行数据同步之后,需要进行监控,确保同步过程稳定可靠。
可以使用SQL Server的系统视图和工具进行监控,如查看系统视图sys.dm_repl_monitor、SQL Server Agent作业日志等。
-搭建测试环境:在进行数据同步之前,最好先在测试环境中进行测试,以确保同步过程不会对生产环境产生负面影响。
两台SQL Server数据同步解决方案[收藏此页] [打印] [推荐] [挑错]作者:chinaitlab 佚名 2005-11-09内容导航:两台SQL Server数据同步解...第1页:两台SQL Server数据同步解决方案【IT168 服务器学院】复制的概念复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。
使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。
复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
SQL复制的基本元素包括出版服务器、订阅服务器、分发服务器、出版物、文章SQL复制的工作原理SQL SERVER 主要采用出版物、订阅的方式来处理复制。
源数据所在的服务器是出版服务器,负责发表数据。
出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器SQL SERVER复制技术类型SQL SERVER提供了三种复制技术,分别是:1、快照复制(呆会我们就使用这个)2、事务复制3、合并复制只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。
接下来我们就一步一步来实现复制的步骤。
第一先来配置出版服务器(1)选中指定[服务器]节点(2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令(3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。
(4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。
同时也生成一个分发数据库(distribution)第二创建出版物(1)选中指定的服务器(2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。
此时系统会弹出一个对话框(3)选择要创建出版物的数据库,然后单击[创建发布](4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。
利用SQLServer2005复制订阅功能实现公网数据同步
这里以本人实际演练为例,一台机器位于联通ADSL局域网内上网(无固定IP),另一台位于外网中(有固定IP),在实施之前,首先要确保以下几点
两台机器的SQLServer能够互相远程连接(有关这个问题我就不多讲了,上网搜吧)
设置双方SQL代理为启用状态,如下图
数据订阅方(我所在单位局域网的机器)要对数据发布方(一般是服务器)进行实名注册,这是因为SQLServer不允许通过IP远程连接对方数据库来订阅数据(真搞不懂微软怎么想的),这地方可让我耽搁了不少时间,网上的很多都是COPY的,连个图也没有。
如下图:。