SQL数据库同步工具(开辟数据同步工具)2.0 中文免费版

SQL数据库同步工具(开辟数据同步工具)本系统分为客户端和服务器两个部分,其中客户端承担了系统绝大数事务,服务器只是简单的执行客户端传送的命令,属于典型的C/S胖客户端瘦服务器模式。这样设计的目的是为了减轻服务器的压力,让系统更加流畅。

本系统分为客户端和服务器两个部分,其中客户端承担了系统绝大数事务,服务器只是简单的执行客户端传送的命令,属于典型的C/S胖客户端瘦服务器模式。这样设计的目的是为了减轻服务器的压力,让系统更加流畅。

客户端负责采集分布数据库中的数据,然后汇总到服务器。客户端需要配置的数据库连接字符串是指分布数据库的连接字符串,连接成功后才可以向主数据库同步数据。例如,有A、B、C三个分布数据库,需要把数据汇总到D数据库,那么需要三个客户端,分别连接A、B、C数据库,客户端运行在哪无所谓,只要能连接数据库即可。

主页说明

主页显示一些公共信息。

程序启动日期有助于您分析日志同步状况;

扫描引擎、同步引擎是本系统两大核心引擎,扫描引擎负责获取分布数据库的数据变动,同步引擎负责向服务器发送需要同步的数据。如果数据库连接字符串未设置,引擎不会开启,否则,引擎自动开启,无需人工干预。

数据库占用空间是指程序本地的SQLite数据库占用空间,由于长期使用会有大量日志信息,占用过大空间会使程序效率降低,可以及时清理。清理界面如下:

选择好要清除的日志类型,然后选择日期,提交后会清除该日期之前的所有记录。

活动日志说明

该页面可以查询程序的活动状况,以日期查询可以显示某个日期的记录。

程序活动日志是扫描记录,详细记录了扫描信息。

程序同步活动日志是同步记录,详细记录了同步信息。

同步说明

同步界面用来配置需要同步的表和同步时间,如果已经配置数据库连接字符串,将会显示数据库中的所有表,用户可根据需要选择要同步的表。

在要同步的表列表中,如果表间有外键约束,一定要把主表靠前排列。

同步时间即何时同步数据,用户可根据实际需要选择闲时同步,建议多个客户端选择不同的时间段同步,避免冲突。支持多个时间,以逗号分隔,24小时制表示,时间格式举例:20:33,22:12。

成功提交设置后,会自动开启扫描引擎和同步引擎。

参数设定说明

参数设定界面用来配置程序的基本参数。

数据库连接字符串是指分布数据库的连接字符串,不是主数据库的连接字符串,一旦成功设置,不能更改,如需更改,要重新安装程序!

扫描间隔时间是指扫描引擎获取变动数据的时间间隔,建议设置为30分钟,用户可根据需求自行更改。

主服务器IP地址是指服务器所在电脑的IP地址,客户端将发送同步数据到服务器。

补充说明

程序一旦进步同步状态,将出现同步进度界面,此界面自动出现,自动关闭,无需干预,请耐心等待,千万不要在同步时关闭程序!

服务器使用说明

概述

服务器功能比较简单,负责收集客户端发送过来的同步数据,然后添加到主数据库中,只需设置主数据库的连接字符串即可,成功连接后服务器启动。

服务器会自动保存成功连接的主数据库连接字符串。

服务器对同步不做任何记录。

使用说明

设置好数据库连接字符串后,点击启动服务,如果连接成功,服务自动启动。

同时,界面上显示正在同步的客户端数量,正在同步客户端数量不为0时,无法关闭服务器,如果强行关闭,造成的一切后果自行负责。

补充说明

理论上应该先启动服务器,再启动客户端。

程序使用注意事项

1.必须确保您的数据库没有修改主键的操作。由于修改主键会引起很多问题,如果一定要修改主键,建议把修改拆分成删除→添加。

2.必须确保您的数据库没有使用自增长的字段,因为自增长字段本程序无法干涉。

3.支持所有SQL数据类型(除SQL2008新增的geography、geometry、hierarchyid)。

4.数据库连接字符串一旦成功设置,不能更改!如需更改,需要重新安装程序。

产品特点

l  设计新颖。

l  安全性高。

l  稳定性强。

l  效率高。

l  占用资源低。

已经修正BUG

l  同步时间正则判断错误,少写了一个+。

l  表删除按钮无效。

l  主键检索错误,检索反了。

l  点活动日志应该清空界面表格显示,点查询应该清空界面表格显示。

l  SQL语句按照执行顺序构造,应该在配置里放最小LSN。

l  同步时间判断不合理,一个时间点可能会同步两次,应该缩小同步条件。

l  SQL日志读取异常,应该跳过无日志的记录。

l  扫描引擎和同步引擎冲突,有交叉现象,通过对线程运行标记添加线程锁解决。

版权信息

作者:杨元。

声明

本程序属于免费程序,严禁用于商业用途。

如果您喜欢此程序,可以向作者捐款。

程序升级——2013年3月27日——增加表前缀(V2.0)

由于产品开发初期设计不足,后期使用出现了一个问题:没办法区分数据来自哪个客户端,也就是没有区分分布数据库,最终数据将混在一起。

经过考虑,提出表前缀概念。原理如下图:

如果没有表前缀,那么所有分布数据库中的表名字都一样,在本例中都是t_Syn1或t_Syn2,如果不加区分,A、B、C三个分布数据库中的信息都会同步到主数据库的t_Syn1、t_Syn2表中,造成数据混乱。

为了区分不同的分布数据库,采用表前缀的解决方案。

根据图中的原理,假如分布数据库中有一个表是“t_Syn1”,如果想同步这个表的数据,那么主数据库中需要有一个名字叫“前缀_t_Syn1”的表,结构和分布数据库中的“t_Syn1”一样。

这样一来,分布数据库“t_Syn1”表中的数据会同步到主数据库“前缀_t_Syn1”表中。

前缀可以在客户端“参数设定”选项卡中设置,每个分布数据库具体用什么前缀由用户自己商定。

注意:程序不会创建表,也就是说,用户必须手动创建主数据库中的表,主数据库表名=前缀+分布数据库表名,主数据库表结构必须和分布数据库表结构相同,只是名字不同而已。

原文地址:https://www.cnblogs.com/SyncNavigator8-4-1/p/10977507.html

时间: 2024-10-26 07:19:23

SQL数据库同步工具(开辟数据同步工具)2.0 中文免费版的相关文章

SQL 2008提供几种数据同步方式

SQL 2008提供几种数据同步的方式如下. 1.日志传送(Log Shipping),定时将主数据库的日志备份,恢复到目标数据库. 2.数据库镜像(Database Mirror),原理同日志传送, 另有提供自动接管功能. 3.建立复制(Replication),SQL 2000既有功能.

使用C#实现sql server 2005 和Oracle 数据同步

1.背景: 公司的一个项目进行服务扩展,添加了短信服务平台,实现平台按照预定义的规则给用户主动发送短信和用户点播,两种方式.短信平台需能够接入三网(移动.联通.电信).目前只接入了移动MAS机.用户点播时发送的短信通过MAS机,发送的内容最后保存在sql serer 2005 数据库的表T 中,然后需要根据用户发送的点播代码给用户返回对应的信息. 用户的信息都在业务系统中,业务系统是Oracle 的数据库.两者都处于同一个局域网之内.由于短信平台是一个产品我们无法进行操作,和项目经理商议后决定将

Sql触发器调用外部程序实现数据同步

首先创建两个数据库:SyncA是数据源,SyncB是对SyncA进行同步的数据库. 在SyncA和SyncB中分别创建Source表和Target表,实际业务中,两张表的结构大多不相同.     然后创建一个类库的项目:MySync(注意项目的版本,Sql08不支持的.net 4.0及更高版本) 下面是同步程序代码: using System; using System.Data; using System.Data.Sql; using Microsoft.SqlServer.Server;

SQL数据库查询一列数据返回一行

SQL:数据库合并列数据:遇到一个更新的问题 想要把查询到的数据某一列拼接成字符串形式返回用的是SQL数据库中的STUFF函数比如 查询到的表(u_College)如下Id Name Age Classify1 张一 18 一班2 张二 17 二班3 张三 19 三班->SQL语句SELECT distinct Classify=STUFF((SELECT distinct ','+ Classify FROM u_College FOR XML PATH('')),1,1,'') FROM u

svg矢量图制作工具(Sketsa SVG Editor) v7.1.1 中文免费版

下载地址:https://www.jb51.net/softs/555253.html Sketsa SVG Editor中文版是一款强大好用的矢量图绘制工具,该工具的最大特色就是集成了中文语言,且支持xml格式,允许用户允许放大或者缩小尺寸到任意分辨率而不会产生失真效果,Sketsa SVG Editor集成了调色板.DOM编辑器.资源编辑器.SVG特定成形工具等实用绘图工具,是您进行矢量图绘制的又一选择,需要此款工具的朋友们可以前来下载使用. 基本介绍 Sketsa SVG Editor 是

【问题】sql数据库报无效的数据证书,需重新安装

事情的经过: 今天打开sql2014数据库,没有成功运行,但是给我弹出一个"无效的数据证书,需要重新安装!"提示.什么情况.为什么,应该是前一天弄vs导致的.因为升级了vs2017,所以把以前的东西做了删除卸载,可能是我有些依赖组件给卸载了.发现原因就好办了. 问题分析: 无效的数据证书在这个情况出现会有两种情况:一是试用期过了.二是密钥失效了. 数据库使用久了我们都知道SQL Management Studio依赖于Visual Studio 2010(独立)版本. 于是我们可以去C

SQL数据库约束行为---防止数据乱填(即数据规范化)

防止乱填:一.Check约束.按照某种规则对数据进行检查.操作:在表的设计界面中,右击相应的列,选择“CHECK约束”在弹出的对话框中,设置约束的名称和表达式. 代码实现: create table car ( code int check(code>0) ) 二.外键约束.主表,从表.主表是用来约束从表的.外键应当建在从表上.使用主表的主键来约束从表外键.从表中的外键列是不能随便乱填内容的,它只能填写主表主键中存在的数据. 一旦建立起外键关系来,从表的外键不能乱填,反过主表中的主键列也不能乱删

SQL 数据库连续插入大批量数据时超时

经常会处理大批量千万级的数据,一直以来都没问题.最近在处理时确出来了经常超时,程序跑一段时间就得停下来重启服务器,根据几次的调整发现了问题的所在,产生这类问题主要是以下几点所导致: 1.数据库连接未关闭,大量操作数据库时,连接未关闭的话,会导致连接过多数据库卡死. 2.检查数据库的超时时间设置过短. 3.索引:数据库操作期间太多的索引导致产生很多碎片,清理和重新组织了下索引 . 4.日志文件过大数据的操作时处理日志超时导致,删除或是压缩日志,把日志文件的增长降低. 现在这种问题基本上是第3.4两

SQL数据库约束行为---防止数据完全重复

防止同一条数据完全重复: 一.主关键字约束:主键约束.1.能够唯一的区分每一行数据.——不许重2.表中的数据按照主键字排序的.——有序3.主键字不能为空——不为空4.一个表只能有一个主键,但可以设置组合主键.操作:在表的设计界面(在要加主键的表上面鼠标右键选择设计,如下图),在相应的列上,右击-"设为主键"/"删除主键".或点击左上角钥匙图标 代码实现: create table car1( code varchar(50) primary key, name va