当前位置:首页 » 操作系统 » 数据库同步工具

数据库同步工具

发布时间: 2022-10-31 23:09:08

A. 求Apexsql Diff(数据同步工具) V2019.03.1000 英文安装板网盘资源

《ApexSQL Diff》网络网盘免费下载

链接: https://pan..com/s/1q6j_vpRg3XiWaaZHBKugJg

提取码: iawa

介绍:ApexSQLDiff是一款非常优秀的程序员同步数据的工具,可以根据用户的需要来生成相应的脚本合并两个数据,并可以对合并数据库过程中遇到的替在问题进行汇总、跟踪,还拥有强大的工程管理模块和附件解码器,是您合并数据库的好助手。

B. “开源”数据同步ETL工具,支持多数据源间的增、删、改数据同步

bboss数据同步可以方便地实现多种数据源之间的数据同步功能,支持增、删、改数据同步,本文为大家程序各种数据同步案例。

使用Apache-2.0开源协议

通过bboss,可以非常方便地采集database/mongodb/Elasticsearch/kafka/hbase/本地或者ftp日志文件源数据,经过数据转换处理后,再推送到目标库elasticsearch/database/file/ftp/kafka/mmy/logger。

数据导入的方式

支持各种主流数据库、各种es版本以及本地/Ftp日志文件数据采集和同步、加工处理

支持从kafka接收数据;经过加工处理的数据亦可以发送到kafka;

支持将单条记录切割为多条记录;

可以将加工后的数据写入File并上传到ftp/sftp服务器;

支持备份采集完毕日志文件功能,可以指定备份文件保存时长,定期清理超过时长文件;

支持自动清理下载完毕后ftp服务器上的文件;

支持excel、csv文件采集(本地和ftp/sftp)

支持导出数据到excel和csv文件,并支持上传到ftp/sftp服务器

提供自定义处理采集数据功能,可以自行将采集的数据按照自己的要求进行处理到目的地,支持数据来源包括:database,elasticsearch,kafka,mongodb,hbase,file,ftp等,想把采集的数据保存到什么地方,有自己实现CustomOutPut接口处理即可。

支持的数据库: mysql,maridb,postgress,oracle ,sqlserver,db2,tidb,hive,mongodb、HBase等

支持的Elasticsearch版本: 1.x,2.x,5.x,6.x,7.x,8.x,+

支持海量PB级数据同步导入功能

支持将ip转换为对应的运营商和城市地理坐标位置信息

支持设置数据bulk导入任务结果处理回调函数,对每次bulk任务的结果进行成功和失败反馈,然后针对失败的bulk任务通过error和exception方法进行相应处理

支持以下三种作业调度机制:

bboss另一个显着的特色就是直接基于java语言来编写数据同步作业程序,基于强大的java语言和第三方工具包,能够非常方便地加工和处理需要同步的源数据,然后将最终的数据保存到目标库(Elasticsearch或者数据库);同时也可以非常方便地在idea或者eclipse中调试和运行同步作业程序,调试无误后,通过bboss提供的gradle脚本,即可构建和发布出可部署到生产环境的同步作业包。因此,对广大的java程序员来说,bboss无疑是一个轻易快速上手的数据同步利器。

如果需要增量导入,还需要导入sqlite驱动:

如果需要使用xxjob来调度作业任务,还需要导入坐标:

本文从mysql数据库表td_cms_document导入数据到es中,除了导入上述maven坐标,还需要额外导入mysql驱动坐标(其他数据库驱动程序自行导入): mysql 5.x驱动依赖包

mysql 8.x驱动依赖包(mysql 8必须采用相应版本的驱动,否则不能正确运行)

私信回复:数据同步ETL工具

访问一飞开源:https://code.exmay.com/

C. sqlserver不同数据库怎么让数据实时同步

可以使用数据库比较与同步工具DBSync,具体做法:先建立一个任务:以A为同步之源,以B为同步之目标,同步方式设置为增量同步,以后,只要A发生增删改,就会同步更新至B。

D. 如何实现数据库实时同步

可以使用专门的同步软件,如:数据库比较与同步工具DBSync,它是一款windows系统下的桌面软件,有免费版。缺点是,它的同步不是实时的,最快只能秒级同步,做不到毫秒级。优点是,使用比较简单,大致步骤:
1、先设置数据库连接字符串,连接双方数据库。
2、指定需要同步的数据表,以及字段对应关系。
3、指定同步方式及频率。
设置好后,软件即可按指定频率,不断检测双方数据库,找出双方之间的差异,并同步差异数据,从而使它们始终保持一致。支持各种数据库,支持多表同步。
希望对你有帮助。

E. 如何编译开源的数据同步工具dbsync

软件特性DBSync数据同步工具是一款异构数据库之间数据同步的工具,目前支持的数据库有:access、sqlserver、oracle、db2、sybasease12.5,同时,该软件提供的ODBC的同步功能,可以间接实现对MYSQL,SYBASE,INTERBASE等其他数据库的支持,该版本实现了对二进制字段同步的支持,以后的版本中,会逐渐支持其他类型的数据库。DBsync还提供批量脚本更新的功能(参照界面中定义的规范),该工具可以实现计划、增量、两表记录保持一致等方式的同步操作。DBSync同时提供给开发商二次开发的接口,开发商可以很方便地配置需要进行同步的数据。新增的快速事务处理功能,能提供百万级数据记录的同步能力。新加入的远程同步任务功能,可以和远程数据交换服务器组合成为全球数据交换系统;远程文件同步任务,和远程数据交换服务器配合,组成公司内部使用的可靠文件备份系统。其具体的功能包括:1)不同数据库表之间数据的同步或增量同步功能(以记录为单位);2)数据同步以任务的方式定义(新增任务,删除任务,修改任务);3)同步任务的调度(立即执行,定时,或以固定时间间隔方式执行);4)每天执行结果的报告,也可以以实时的方式进行报表的查看;5)数据安全性(以事务的方式处理每一个同步任务);6)同步任务的导入导出功能;7)以工作流的方式实现数据的同步(暂时未实现);8)支持常用的数据库记录操作(添加记录,修改记录,删除记录,执行存储过程);

F. 比较好用的数据库同步软件又哪些

可以试试DBSync,主要特点:
●独立运行
不需要在数据库中设置程序或脚本,不需要更改库结构,是一款独立的应用程序,因此不影响现有系统的运行,简单易用。
●支持各种数据源
既支持常规数据库,如Access、SQL Server、Oracle、MySQL、DB2等,又支持Excel、txt、csv等文件数据,任何可用OLE DB或ODBC连接的数据,均可参与同步。
●异型数据库同步
既支持相同类型数据库之间的同步,如Access到Access、SQL Server到SQL Server,又支持异型数据库之间的同步,如Excel到Access、Access到SQL Server、SQL Server到Oracle等。
●无人值守同步
软件具有定期自动同步的功能,只需预先设置好时间间隔,就可长期自动同步;支持系统重启后自动继续同步,防止意外关机重启而造成同步中断,从而实现无人值守同步。
●支持增量同步
既支持简单的全部复制式同步(Insert),又支持增量同步。软件能快速扫描数据库,找出相互间的差异(即增量),只对增量进行同步。
●支持断点续传
当同步中断后,再次同步时能从中断位置继续同步,避免每次都需要从头开始。
●秒级实时同步
重复同步的时间间隔最短可设置为1秒,源数据库发生变更后,1秒后就同步过去,几乎等同于实时同步。
●支持同步后处理
可设置同步后的SQL执行语句,实现同步之后的数据转换、公式计算等额外任务。

G. 数据库同步工具在EPS哪里

设置。
刚安装激活软件,打开客户端之后,桌面会有一个客户端和服务端,客户端是我们用来操作基本参数,设置的界面,服务端是后台自动运行的程序,服务端随电脑系统自动启动,断点续传,增量同步数据,是一个后台程序,我们不用管他,我们平时设置的时候只需要打开客户端,然后配置好基本参数退出就好,服务端会默默帮我们后台干活,设置好之后客户端可以关闭。

H. MYSQL有那些专用的数据库同步软件

HKROnline SyncNavigator 是一款 SQL Server,MySQL 数据库同步软件。它为您提供一种简单智能的方式完成复杂的数据库数据同步,分发操作。
SyncNavigator 可以帮助您快速的完成数据库的数据同步。
不需要专业的数据库知识,只需要进行简单的设置即可实现数据库的同步,分发以及热备份。即使是大容量数据库也能快速完成同步。
它对数据库的支持非常完整,您可以将 SQL Server/MySQL 数据库同步到其他不同版本的数据库上而不需要考虑其数据库结构。
它支持断点续传功能,即使出现网络中断或者数据库故障
也能继续同步数据库,并确保数据完整性。

I. Etl工具将sqlserver数据同步到oracle设计说明

软件说明



通过etl工具定时将SqlServer指定的表数据同步到oracle数据库

在数据库建立增删改的触发器。触发器将变更放到临时表里。

通过etl工具读取临时表同步给oracle

优点:比较实时
缺点:影响到业务系统,因为需要在业务系统建立触发器


实例说明:

例如在sqlserver有一张用户表(sys_user)需定时同步oracle数据库的用户表,

包括新增、删除、修改同步

给同步的表建三类触发器:
insert触发器:向表中插入数据时被触发;
update触发器:修改表中数据时被触发;
delete触发器:从表中删除数据时被触发。


以sqlserver的用户表举例,

Sqlserver的sys_user表,有两个字段id,name

具体流程:

以新增数据举例

Ø 一、在sqlserver新建触发器trigger_sysuser_insert

if (object_id('trigger_sysuser_insert') is not null)

drop trigger trigger_sysuser_insert

go

create trigger trigger_sysuser_insert

on sys_user --表名

for insert --插入后触发

--instead of insert --插入前触发,使用插入前触发时,不执行默认插入

as


--开始执行逻辑

declare @id int, @name varchar(20);

select @id = id, @name = name from sys_user; -------------- inserted 存放了当前插入的值

--select @name,@age


---创建临时表

if not exists (select * from sysobjects where id = object_id('##sys_user_insert')

and OBJECTPROPERTY(id, 'IsUserTable') = 1)

create table ##sys_user_insert

(

id int,

name varchar(32)

);


insert into ##sys_user_insert (id,name) values(@id,@name);

go



在sys_user新增数据时会被触发,将新增的数据加入临时表##sys_user_insert,此时

的临时表 ##sys_user_insert会增加一条记录


Ø 二、配置elt流程



节点1 从临时表读取数据,写入数据流

节点2 从数据流获取数据写入oracle

节点3 从sqlserver的临时表删除已经被同步的记录


Ø 三、建立作业调度

设置调度周期


适用增量数据同步

在要同步的源表里有时间戳字段,每当数据发生新增,时间戳会记录发生变化的时间,etl工具根据时间范围定时同步数据

优点:基本不影响业务系统
缺点:要求源表必须有时间戳这一列,适用增量场景,修改、删除不太适用

定时清空oracle数据源,将sqlserver的数据全盘拷贝到oracle数据源。一般用于数据量不大,实时性要求不高的场景。

优点:基本不影响业务系统,开发、部署都很简单
缺点:效率低


Etl流程

结论

准能现场数据同步,涉及增、删、改的同步,比较适用触发器的方式进行数据同步,但触发器仍会存在失效的情况,若现场有数据质量系统,定期数据稽核,查缺补漏,保证两边数据库的一致性;

J. 怎么实现两个数据库的同步

同步两个SQLServer数据库

如何同步两个sqlserver数据库的内容?程序代码可以有版本管理cvs进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致.各位有什么好的方法吗?

一、分发与复制

用强制订阅实现数据库同步操作. 大量和批量的数据可以用数据库的同步机制处理:

//

说明:

为方便操作,所有操作均在发布服务器(分发服务器)上操作,并使用推模式

在客户机器使用强制订阅方式。

二、测试通过

1:环境

服务器环境:

机器名称: zehuadb

操作系统:windows 2000 server

数据库版本:sql 2000 server 个人版

客户端

机器名称:zlp

操作系统:windows 2000 server

数据库版本:sql 2000 server 个人版

2:建用户帐号

在服务器端建立域用户帐号

我的电脑管理->本地用户和组->用户->建立

username:zlp

userpwd: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:测试数据

在服务器执行:

选择一个表,执行如下sql: insert into wq_newsgroup_s select '测试成功',5

复制监视器->发布服务器(zehuadb)->sz:sz->快照->启动代理程序 ->zlp:sz(强制)->启动同步处理

去查看同步的 wq_newsgroup_s 是否插入了一条新的记录

测试完毕,通过。

7:修改数据库的同步时间,一般选择夜晚执行数据库同步处理

(具体操作略) :d

/*

注意说明:

服务器一端不能以(local)进行数据的发布与分发,需要先删除注册,然后新建注册本地计算机名称

卸载方式:工具->复制->禁止发布->是在"zehuadb"上静止发布,卸载所有的数据库同步配置服务器

注意:发布服务器、分发服务器中的sqlserveragent服务必须启动

采用推模式: "d:microsoft sql servermssql epldataunc" 目录文件可以不设置共享

拉模式:则需要共享~!

*/

少量数据库同步可以采用触发器实现,同步单表即可。

三、配置过程中可能出现的问题

在sql server 2000里设置和使用数据库复制之前,应先检查相关的几台sql server服务器下面几点是否满足:

1、mssqlserver和sqlserveragent服务是否是以域用户身份启动并运行的(.administrator用户也是可以的)

如果登录用的是本地系统帐户local,将不具备网络功能,会产生以下错误:

进程未能连接到distributor '@server name'

(如果您的服务器已经用了sql server全文检索服务, 请不要修改mssqlserver和sqlserveragent服务的local启动。

会照成全文检索服务不能用。请换另外一台机器来做sql server 2000里复制中的分发服务器。)

修改服务启动的登录用户,需要重新启动mssqlserver和sqlserveragent服务才能生效。

2、检查相关的几台sql server服务器是否改过名称(需要srvid=0的本地机器上srvname和datasource一样)

在查询分析器里执行:

use master

select srvid,srvname,datasource from sysservers

如果没有srvid=0或者srvid=0(也就是本机器)但srvname和datasource不一样, 需要按如下方法修改:

use master

go

-- 设置两个变量

declare @serverproperty_servername varchar(100),

@servername varchar(100)

-- 取得windows nt 服务器和与指定的 sql server 实例关联的实例信息

select @serverproperty_servername = convert(varchar(100), serverproperty('servername'))

-- 返回运行 microsoft sql server 的本地服务器名称

select @servername = convert(varchar(100), @@servername)

-- 显示获取的这两个参数

select @serverproperty_servername,@servername

--如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的

--删除错误的服务器名

exec sp_dropserver @server=@servername

--添加正确的服务器名

exec sp_addserver @server=@serverproperty_servername, @local='local'

修改这项参数,需要重新启动mssqlserver和sqlserveragent服务才能生效。

这样一来就不会在创建复制的过程中出现18482、18483错误了。

3、检查sql server企业管理器里面相关的几台sql server注册名是否和上面第二点里介绍的srvname一样

不能用ip地址的注册名。

(我们可以删掉ip地址的注册,新建以sql server管理员级别的用户注册的服务器名)

这样一来就不会在创建复制的过程中出现14010、20084、18456、18482、18483错误了。

4、检查相关的几台sql server服务器网络是否能够正常访问

如果ping主机ip地址可以,但ping主机名不通的时候,需要在

winntsystem32driversetchosts (win2000)

(win2003)

文件里写入数据库服务器ip地址和主机名的对应关系。

例如:

127.0.0.1 localhost

192.168.0.35 oracledb oracledb

192.168.0.65 fengyu02 fengyu02

202.84.10.193 bj_db bj_db

或者在sql server客户端网络实用工具里建立别名,例如:

5、系统需要的扩展存储过程是否存在(如果不存在,需要恢复):

sp_addextendedproc 'xp_regenumvalues',@dllname ='xpstar.dll'

go

sp_addextendedproc 'xp_regdeletevalue',@dllname ='xpstar.dll'

go

sp_addextendedproc 'xp_regdeletekey',@dllname ='xpstar.dll'

go

sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'

接下来就可以用sql server企业管理器里[复制]-> 右键选择 ->[配置发布、订阅服务器和分发]的图形界面来配置数据库复制了。

下面是按顺序列出配置复制的步骤:

1、建立发布和分发服务器

[欢迎使用配置发布和分发向导]->[选择分发服务器]->[使"@servername"成为它自己的分发服务器,sql server将创建分发数据库和日志]

->[制定快照文件夹]-> [自定义配置] -> [否,使用下列的默认配置] -> [完成]

上述步骤完成后, 会在当前"@servername" sql server数据库里建立了一个distribion库和 一个distributor_admin管理员级别的用户(我们可以任意修改密码)。

服务器上新增加了四个作业:

[ 代理程序历史记录清除: distribution ]

[ 分发清除: distribution ]

[ 复制代理程序检查 ]

[ 重新初始化存在数据验证失败的订阅 ]

sql server企业管理器里多了一个复制监视器, 当前的这台机器就可以发布、分发、订阅了。

我们再次在sql server企业管理器里[复制]-> 右键选择 ->[配置发布、订阅服务器和分发]

我们可以在 [发布服务器和分发服务器的属性] 窗口-> [发布服务器] -> [新增] -> [确定] -> [发布数据库] -> [事务]/[合并] -> [确定] -> [订阅服务器] -> [新增] -> [确定]

把网络上的其它sql server服务器添加成为发布或者订阅服务器.

新增一台发布服务器的选项:

我这里新建立的jin001发布服务器是用管理员级别的数据库用户test连接的,

到发布服务器的管理链接要输入密码的可选框, 默认的是选中的,

在新建的jin001发布服务器上建立和分发服务器fengyu/fengyu的链接的时需要输入distributor_admin用户的密码。到发布服务器的管理链接要输入密码的可选框,也可以不选,也就是不需要密码来建立发布到分发服务器的链接(这当然欠缺安全,在测试环境下可以使用)。

2、新建立的网络上另一台发布服务器(例如jin001)选择分发服务器

[欢迎使用配置发布和分发向导]->[选择分发服务器]

-> 使用下列服务器(选定的服务器必须已配置为分发服务器) -> [选定服务器](例如fengyu/fengyu)

-> [下一步] -> [输入分发服务器(例如fengyu/fengyu)的distributor_admin用户的密码两次]

-> [下一步] -> [自定义配置] -> [否,使用下列的默认配置]

-> [下一步] -> [完成] -> [确定]

建立一个数据库复制发布的过程:

[复制] -> [发布内容] -> 右键选择 -> [新建发布]

-> [下一步] -> [选择发布数据库] -> [选中一个待发布的数据库]

-> [下一步] -> [选择发布类型] -> [事务发布]/[合并发布]

-> [下一步] -> [指定订阅服务器的类型] -> [运行sql server 2000的服务器]

-> [下一步] -> [指定项目] -> [在事务发布中只可以发布带主键的表] -> [选中一个有主键的待发布的表]

->[在合并发布中会给表增加唯一性索引和 rowguidcol 属性的唯一标识符字段[rowguid],默认值是newid()]

(添加新列将: 导致不带列列表的 insert 语句失败,增加表的大小,增加生成第一个快照所要求的时间)

->[选中一个待发布的表]

-> [下一步] -> [选择发布名称和描述] ->

-> [下一步] -> [自定义发布的属性] -> [否,根据指定方式创建发布]

-> [下一步] -> [完成] -> [关闭]

发布属性里有很多有用的选项:设定订阅到期(例如24小时)

设定发布表的项目属性:

常规窗口可以指定发布目的表的名称,可以跟原来的表名称不一样。

下图是命令和快照窗口的栏目

( sql server 数据库复制技术实际上是用insert,update,delete操作在订阅服务器上重做发布服务器上的事务操作

看文档资料需要把发布数据库设成完全恢复模式,事务才不会丢失

但我自己在测试中发现发布数据库是简单恢复模式下,每10秒生成一些大事务,10分钟后再收缩数据库日志,

这期间发布和订阅服务器上的作业都暂停,暂停恢复后并没有丢失任何事务更改 )

发布表可以做数据筛选,例如只选择表里面的部分列:

例如只选择表里某些符合条件的记录, 我们可以手工编写筛选的sql语句:

发布表的订阅选项,并可以建立强制订阅:

成功建立了发布以后,发布服务器上新增加了一个作业: [ 失效订阅清除 ]

分发服务器上新增加了两个作业:

[ jin001-dack-dack-5 ] 类型[ repl快照 ]

[ jin001-dack-3 ] 类型[ repl日志读取器 ]

上面蓝色字的名称会根据发布服务器名,发布名及第几次发布而使用不同的编号

repl快照作业是sql server复制的前提条件,它会先把发布的表结构,数据,索引,约束等生成到发布服务器的os目录下文件

(当有订阅的时候才会生成, 当订阅请求初始化或者按照某个时间表调度生成)

repl日志读取器在事务复制的时候是一直处于运行状态。(在合并复制的时候可以根据调度的时间表来运行)

建立一个数据库复制订阅的过程:

[复制] -> [订阅] -> 右键选择 -> [新建请求订阅]

-> [下一步] -> [查找发布] -> [查看已注册服务器所做的发布]

-> [下一步] -> [选择发布] -> [选中已经建立发布服务器上的数据库发布名]

-> [下一步] -> [指定同步代理程序登录] -> [当代理程序连接到代理服务器时:使用sql server身份验证]

(输入发布服务器上distributor_admin用户名和密码)

-> [下一步] -> [选择目的数据库] -> [选择在其中创建订阅的数据库名]/[也可以新建一个库名]

-> [下一步] -> [允许匿名订阅] -> [是,生成匿名订阅]

-> [下一步] -> [初始化订阅] -> [是,初始化架构和数据]

-> [下一步] -> [快照传送] -> [使用该发布的默认快照文件夹中的快照文件]

(订阅服务器要能访问发布服务器的repldata文件夹,如果有问题,可以手工设置网络共享及共享权限)

-> [下一步] -> [快照传送] -> [使用该发布的默认快照文件夹中的快照文件]

-> [下一步] -> [设置分发代理程序调度] -> [使用下列调度] -> [更改] -> [例如每五分钟调度一次]

-> [下一步] -> [启动要求的服务] -> [该订阅要求在发布服务器上运行sqlserveragent服务]

-> [下一步] -> [完成] -> [确定]

成功建立了订阅后,订阅服务器上新增加了一个类别是[repl-分发]作业(合并复制的时候类别是[repl-合并])

它会按照我们给的时间调度表运行数据库同步复制的作业。

3、sql server复制配置好后, 可能出现异常情况的实验日志:

1.发布服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制没有多大影响

中断期间,分发和订阅都接收到没有复制的事务信息

2.分发服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制有一些影响

中断期间,发布服务器的事务排队堆积起来

(如果设置了较长时间才删除过期订阅的选项, 繁忙发布数据库的事务日志可能会较快速膨胀),

订阅服务器会因为访问不到发布服务器,反复重试

我们可以设置重试次数和重试的时间间隔(最大的重试次数是9999, 如果每分钟重试一次,可以支持约6.9天不出错)

分发服务器sql server服务启动,网络接通以后,发布服务器上的堆积作业将按时间顺序作用到订阅机器上:

会需要一个比较长的时间(实际上是生成所有事务的insert,update,delete语句,在订阅服务器上去执行)

我们在普通的pc机上实验的58个事务100228个命令执行花了7分28秒.

3.订阅服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制影响比较大,可能需要重新初试化

我们实验环境(订阅服务器)从18:46分意外停机以, 第二天8:40分重启动后, 已经设好的复制在8:40分以后又开始正常运行了, 发布服务器上的堆积作业将按时间顺序作用到订阅机器上, 但复制管理器里出现快照的错误提示, 快照可能需要重新初试化,复制可能需要重新启动.(我们实验环境的机器并没有进行快照初试化,复制仍然是成功运行的)

4、删除已经建好的发布和定阅可以直接用delete删除按钮

我们最好总是按先删定阅,再删发布,最后禁用发布的顺序来操作。

如果要彻底删去sql server上面的复制设置, 可以这样操作:

[复制] -> 右键选择 [禁用发布] -> [欢迎使用禁用发布和分发向导]

-> [下一步] -> [禁用发布] -> [要在"@servername"上禁用发布]

-> [下一步] -> [完成禁用发布和分发向导] -> [完成]

我们也可以用t-sql命令来完成复制中发布及订阅的创建和删除, 选中已经设好的发布和订阅, 按属标右键可以[生成sql脚本]。(这里就不详细讲了, 后面推荐的网站内有比较详细的内容)

当你试图删除或者变更一个table时,出现以下错误

server: msg 3724, level 16, state 2, line 1

cannot drop the table 'object_name' because it is being used for replication.

比较典型的情况是该table曾经用于复制,但是后来又删除了复制。

处理办法:

select * from sysobjects where replinfo >'0'

sp_configure 'allow updates', 1

go

reconfigure with override

go

begin transaction

update sysobjects set replinfo = '0' where replinfo >'0'

commit transaction

go

rollback transaction

go

sp_configure 'allow updates', 0

go

reconfigure with override

go

热点内容
linux系统休眠 发布:2025-05-13 20:30:05 浏览:905
安卓手表进水了怎么搞 发布:2025-05-13 20:11:31 浏览:514
linuxc语言随机数 发布:2025-05-13 20:09:16 浏览:240
c语言通用链表 发布:2025-05-13 19:53:04 浏览:806
lol挂机脚本后台 发布:2025-05-13 19:51:23 浏览:574
红米note3怎么锁屏密码忘了怎么办 发布:2025-05-13 19:51:03 浏览:191
sql数据库报表 发布:2025-05-13 19:49:56 浏览:520
c语言编程代码 发布:2025-05-13 19:48:17 浏览:705
安卓的AndroidAuto 发布:2025-05-13 19:41:49 浏览:358
下载安装python 发布:2025-05-13 19:39:21 浏览:29