不同SQL Server数据库之间表数据的实时同步-发布与订阅

article/2025/10/9 18:28:35

最近要将不同服务器上数据库的表数据同步汇总,所以就涉及到了数据同步的问题,以前没有接触过,在网上找了找方法,

 大抵的方法有三种:

1,在数据库中编写触发器

2,写一个同步程序去完成同步

3,使用数据库的发布和订阅功能

以上前两种方法暂且不提,今天说说第三种方法:使用数据库的发布和订阅功能实现同一服务器下的不同数据库的表数据同步,以及不同服务器下的不同数据库的表数据同步。前提是源数据表结构和目标数据表结构必须相同。

先来说说【发布】和【订阅】的操作步骤,在文章的后面,会将这个过程中可能会遇到的所有问题做一个汇总,然后给出解决方法。

目录

1发布

2订阅

3发布和订阅过程中的可能遇到问题及解决方案


1发布

1,首先使用本机名称连接到数据库,不能使用IP地址连接数据库,至于为什么,在文后说明说到。【复制】,展开复制选项,可以看到两个节点:【本地发布】,【本地订阅】

2,鼠标右键点击【本地发布】,选择【新建发布

3,弹出【新建发布向导】对话框,选择【下一步】 

4,选择要发布的数据库,点击然后【下一步

 5,选择发布类型,这里数据库有四种发布类型,每种发布类型下面都有类型说明,这里在选择选择【快照发布】,点击然后【下一步

如图6所示,选择要发布的表对象,在左侧的选择区域选择要发布的表信息,然后点击【下一步

 7,进入筛选表的设置界面,这里的筛选是指发布的表数据中的某一个或者全部字段只能为固定的值,从而达到当所有的订阅服务器接收数据时,接收到的该字段的值为发布时设定的值。如果不需要,直接点击【下一步

 8,进入快照代理界面,将界面上的两项内容选中

 9,如果需要修改数据同步的时间和频率,则点击【更改

 10,设置数据同步的频率每天执行的频率执行的开始时间,持续时间,设置完成点击【确定】,返回到上一界面,然后点击【下一步

 11,设置代理快照,点击【安全设置】,进入设置界面

 12,选择【在SQL Server代理服务账户下运行】和【使用以下SQL Server登录名】,登录名和密码是为了使订阅的服务器登录到发布服务器。设置完成点击【确定】,返回到上一个界面,然后点击【下一步

 13,该页面选择默认设置,直接点击【下一步

 14,为本次发布创建一个名称,然后点击【完成

 15,以上步骤全部做完之后,等待发布的创建完成,当提示成功时,表示本次发布创建成功

 16,返回到数据库的连接初始界面,的左侧处节点选择【复制】 - 》【本地发布】,可以在改节点下看到刚才创建好的发布

 至此,发布的相关操作已经做完,一个完整的发布已经成功发布。接下来要做的就是在需要同步数据的服务器上订阅该发布。

2订阅

在需要同步数据的服务器上添加订阅,订阅刚才我们添加的发布,这样可以实现数据库表数据之间的同步和迁移。

1,同样的是使用本机名称连接数据库,然后选择【复制】,展开该节点,选择【本地订阅】,鼠标右键点击该项,选择【新建订阅

2,进入新建订阅向导界面,初始界面同新建发布界面,选择【下一步

 3,进入为订阅选择发布的界面,如果是一个服务器不同数据库之间的表数据同步,则在发布服务器中选择本地服务器;如果是不同服务器之间不同数据库的表的数据同步,则在发布服务器中选择远程服务器。

 4,如果是不同服务器之间的数据同步,选择【发布服务器】的下拉框,选择第一项【查找SQL Server发布服务器】,会弹出【连接到服务器】的对话框,点击【服务器名称】一栏的下拉框,选择【浏览更多】,在打开的界面【选择网络服务器】,找到发布的服务器。

 5,找到该服务器之后,选择用实例名登录数据库,选择用SQL Server身份验证,登录名和密码则为源服务器创建发布时选择的登录名和密码

 6,选择连接,自动返回到选择发布服务器的界面,在数据库和发布区域,会将连接到的服务器的所有发布的数据库显示出来,例如这个的textdb就是刚才创建的发布数据库,然后展开该项,可以看到我们刚才创建的发布为111的名称,选中该发布,点击然后【下一步

 如图7所示,选择然后【在分发服务器***运行上所有代理】,【点击下一步

 如图8所示,选择订阅服务器,选中当前需要订阅的服务器,然后点击后面的【订阅数据库】,选择下拉框,然后选择目标数据库,之后完成选择【下一步

9,进入分发代理安全性设置界面,选择与订阅服务器的连接的选择按钮,进入设置界面 

 10,按照图中所示进行设置,SQL Server登录名和密码即为当前数据库的登录名和密码,设置完成点击【确定】,返回到上一界面,然后点击【下一步

 11,同步计划的设置,点击代理计划框,出现下拉框,选择需要的方式,完成设置点击之后【下一步

 12,初始化的设置,点击初始化时间设置框,出现下拉框,选择需要的初始化时间,完成设置点击【下一步

 13,其他选项全部默认,点击直接【下一步

14,点击完成,等待订阅的成功提示 

 至此,目标服务器端的订阅也成功配置。

以上发布和订阅同时完成之后,只要保证服务器之间的连接畅通,则数据会实时的实现同步。

以上只是一对一的服务器之间的数据同步,一个服务器同时订阅多个发布会有冲突,比如服务器1的甲数据库有一个表A,服务器2的乙数据库有一个表B,需要将数据库甲中表A的数据和数据库乙中表B的数据汇总同步到服务器3的数据库乙的C表中,A,B,C三个表的结构需要完全相同,在的服务器3单独订阅服务器1时,数据可以顺利同步,当同时订阅服务器1和服务器2的时候,在同步服务器1的数据时没有问题,在同步服务器2的时候,会自动覆盖掉服务器1的数据。

3 发布和订阅过程中的可能遇到问题及解决方案

在发布和订阅的创建过程中,往往会因为电脑的设置原因,而出现各种各样的问题,在这里整理一下最常见到的问题,并提供一些解决方案

1

问题:新建发布或者订阅,提示“无法连接到服务器,需要有实际的服务名才能连接到服务器”,

解决方案:该问题是因为使用了IP地址登录服务器导致的,需要使用实际的服务名登录服务器,具体的名称查看方法:右键【我的电脑】 - 【属性】即可查看到计算机名,使用该名称连接服务器即可

2

问题:新建发布或者订阅,提示“SQL Server复制需要有实际的服务器名称才能连接到服务器,不支持通过别名,ip地址或其他任何备用名称进行连接。请指定实际的服务器名称”xxxx“”

解决方案:该问题是由于更改计算机名称导致的。如果遇到此问题,则复制下面的SQL语句到数据库中执行

select @@servername
select serverproperty('servername')

执行以上两句代码,结果如上图所示,如果两个结果的名称不一致,则需要修改,修改代码如下:

if serverproperty('servername') <> @@servername
begin
declare @server sysname
set @server = @@servername
exec sp_dropserver @server = @server
set @server = cast(serverproperty('servername') as sysname)
exec sp_addserver @server = @server , @local = 'LOCAL'
End

执行以上代码,执行成功以后,需要重新启动SQL Server(MSSQLSERVER)服务,然后重启之后再使用一下代码查询。

select @@servername
select serverproperty('servername')

结果显示查询结果一致,则该问题解决。

3

问题:在创建发布的最后一步,提示一个警告,显示“SQL Server无法启动快照代理”

解决方案:该问题是由于SQL服务器的一个服务没有启动导致的打开SQL服务器的配置管理器,查看SQL服务器的代理服务是否启动,如果没有启动,则启动该程序即可

暂时遇到的这几种问题,以后遇到的在做补充。


http://chatgpt.dhexx.cn/article/bdpK9UVX.shtml

相关文章

“实时数据同步:构建高效的 MySQL 数据同步方案“

方案一 基于LVM快照进行备份切换 介绍: MySQL数据库本身并不支持快照功能(sqlServer支持) 因此快照备份是指通过文件系统支持的快照功能对数据库进行备份 备份的前提是将所有数据库文件放在同一文件分区中&#xff0c;然后对该分区进行快照操作 LVM是LINUX系统下对磁盘分区进…

多源异构数据库实时同步解决方案

1 需求概述 将企业多个业务系统产生的交易数据流实时同步到数据仓库或大数据平台&#xff0c;通过对交易数据的联机实时分析&#xff0c;快速制定或调整商业计划&#xff0c;提升企业的核心竞争力。 需求关键点&#xff1a;同步过程不可影响或中断业务系统正常运行、同步延时…

hadoop大数据平台搭建

大数据平台搭建 大数据平台搭建虚拟机环境准备修改ip,映射IP地址ssh无密码通信同步时间关闭防火墙安装jdk hadoop平台正式搭建安装hadoop安装 kafka安装spark 大数据平台搭建 zookeeperkafkaspark Hadoop yarn 虚拟机环境准备 我们在搭建大数据分布式系统之前需要对软件和虚…

CDH大数据平台搭建之VMware及虚拟机安装

CDH大数据平台搭建-VMware及虚拟机安装 前言一、下载所需框架二、安装(略)三、安装虚拟机1、新建虚拟机(按照操作即可) 总结 前言 搭建大数据平台需要服务器&#xff0c;这里通过VMware CentOS镜像进行模拟&#xff0c;供新手学习必备。 一、下载所需框架 VMware 和CentOS可以…

CDH大数据平台搭建之虚拟环境配置

CDH大数据平台搭建之虚拟环境配置 前言一、虚拟机网络配置1.配置ip地址2.验证配置是否成功 二、关闭防火墙1.防火墙命令2.禁用防火墙 三、虚拟机主机名配置1.临时配置主机名2.永久配置主机名 四、配置域名解析五、新建大数据用户1.新建用户2.配置普通用户sudo权限3.验证 六、SS…

大数据平台搭建(一):虚拟机环境配置

前言 最近看了些hadoop相关的资料&#xff0c;然后想自己从零开始搭建一个大数据平台。 大数据平台架构 1.概念性的东西还是不想多啰嗦&#xff0c;先上一张网上找的平台架构图&#xff0c;上图的目的是为了大家对整个平台架构有个宏观的认识&#xff0c;这个很重要&#xff0c…

怎么搭建大数据平台,这个大数据平台方案值得学习

在大数据的时代&#xff0c;不仅仅是个人&#xff0c;企业的发展也离不开大数据。对于企业来说&#xff0c;一方面用户越来越多从线下转移到线上&#xff0c;用户的特点属性需要通过网络获取&#xff0c;企业需要依靠大数据把握市场变化并了解客户&#xff0c;从而提供满足市场…

大数据平台搭建,cdh选型配置

天天干后端&#xff0c;又干前端&#xff0c;本行大数据&#xff0c;差点生疏了&#xff0c;哦吼~正当我发愁之际。 领导安排任务了&#xff0c;下个月去某控上市公司。他们需要从0 开始做大数据平台&#xff0c;主要工作内容如下&#xff0c; 平台搭建&#xff0c;数据迁移&…

大数据平台CDH搭建

一、数仓之Cloudera Manager 1、CM简介 1.1、简介 Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具。 1.2、架构 1&#xff09;Cloudera Repository&#xff1a;软件由Cloudera管理分布存储库。&#xff08;有点类似Maven的中心仓库&…

大数据平台搭建目录

欢迎各位学习和借鉴搭配大数据系统 1.备注 省略了一些文件的创建,请自行创建 2.配置到大数据系统的所有配套文件 案例中所使用的版本,解决了版本适配问题 百度网盘链接&#xff1a;https://pan.baidu.com/s/1B5sx61Ori4U8fshHE3bJaA 提取码&#xff1a;6666 一.安装Lunx&…

高可用的分布式Hadoop大数据平台搭建,超详细,附代码。

目录 前言1&#xff1a; 前言2&#xff1a; 一&#xff0c;基础环境 1&#xff0c;三台Centos7.5&#xff0c;一台master&#xff0c;两台slave1和slave2 2&#xff0c;IP配置 ​ 3&#xff0c;改主机名 4&#xff0c;配三台主机映射 5&#xff0c;三台主机时钟同步 6&a…

CDH大数据平台搭建之集群规划

CDH大数据平台搭建之集群规划 前言一、集群规模二、集群规划总结 前言 话说无规矩不成方圆&#xff0c;搭建CDH大数据平台之前需要的工作很多&#xff0c;首先&#xff0c;你需要计算公司每日的数据量&#xff0c;来确定需要多少服务器&#xff0c;确定好服务器之后&#xff0…

大数据平台搭建及集群规划

CDH大数据平台搭建之集群规划_码上_成功的博客-CSDN博客_cdh集群规划 大数据Hadoop分布式集群部署&#xff08;详细版&#xff09;_arnoldmp的博客-CSDN博客_分布式集群部署 大数据平台的硬件规划、网络调优、架构设计、节点规划 【全网独家】大数据集群节点与硬件规划_大数…

知名大厂大数据平台搭建案例分享

“ 今天我们来看一下淘宝、美团和滴滴的大数据平台” 01 淘宝大数据平台 淘宝可能是中国互联网业界较早搭建了自己大数据平台的公司&#xff0c;下图是淘宝早期的 Hadoop 大数据平台&#xff0c;比较典型。 淘宝的大数据平台基本也是分成三个部分&#xff0c;上面是数据源与数据…

CDH大数据平台搭建之HADOOP分布式集群搭建

CDH大数据平台搭建之HADOOP安装 一、什么是HADOOP?二、如何下载1.官网下载2.网盘下载 三、搭建集群1.虚拟机准备2.安装JDK3.安装ZOOKEEPER4.集群规划5.安装HADOOP6.修改配置文件1、进入配置文件目录&#xff1a;2、修改env文件3、修改core-site.xml文件4、修改hdfs-site.xml文…

大数据平台搭建实训报告(思路而已)

目录 1.环境准备 1.1实验目的 1.2实践操作 2.部署HDFS 2.1实验步骤 2.2实践操作 3.实验三 HDFS shell操作 3.1实验目的 3.2实践操作 3.2.1练习对HDFS文件创建、查看、删除、复制、粘贴等文件操作 3.2.2练习本地文件与HDFS文件的上传与下载 3.2.3练习HDFS文件权限修…

CDH大数据平台搭建

Hadoop是apache旗下的一套开源软件平台, 主要对海量数据进行分布式处理。 本次部署&#xff0c;计划使用5台服务器&#xff0c;服务器磁盘规划如下&#xff1a; 分区挂载完成以后&#xff0c;使用root用户执行对目录/data授权。每台服务器都执行此命令。 chmod 777 -R /data …

Hadoop大数据平台搭建(一)

虚拟机准备&#xff08;本节针对于初学者&#xff09; vmawre、xshell、centos7镜像及搭建包自提地址已放在评论区。 目录 虚拟机准备&#xff08;本节针对于初学者&#xff09; 1、节点规划 2、虚拟机安装 3、启动虚拟机配置网关 总结 1、节点规划 2、虚拟机安装 这里的系统和…

大数据平台搭建详细流程(一)框架简介与平台准备

一、框架简介与平台准备 1.1、框架 1.2、硬件 CPU&#xff1a;四核、内存&#xff1a;4G、磁盘&#xff1a;50G hadoop102、hadoop103、hadoop104 1.3、操作系统 操作系统&#xff1a;Centos7&#xff08;最小系统&#xff09; 1.4、基础环境 1.4.1、网络配置 hadoop10…

Hadoop大数据平台搭建(超详细步骤)

相关软件下载链接&#xff1a; Xshell&#xff1a;家庭/学校免费 - NetSarang Website Xftp&#xff1a;家庭/学校免费 - NetSarang Website Xshell与Xftp官网&#xff1a;XSHELL - NetSarang Website Jdk&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;jdhp Hado…