SQL数据库同步方法-详细操作手册(含图)

合集下载

SQL2024数据库同步复制操作

SQL2024数据库同步复制操作

SQL2024数据库同步复制操作SQL Server 2005提供了一种叫做数据库同步复制的功能,用于在多个数据库之间保持数据的一致性。

下面将详细介绍数据库同步复制的操作过程。

数据库同步复制是指将一个数据库的所有更改操作应用到其他一个或多个目标数据库中,以使所有数据库的数据保持同步。

它可以用于多个用例,如数据备份、数据分发和负载均衡等。

第一步是创建发布服务器和订阅服务器。

发布服务器是包含源数据库的服务器,订阅服务器是包含目标数据库的服务器。

在发布服务器上,需要创建一个发布者,这是发布和分发数据的主要角色。

在订阅服务器上,需要创建一个订阅者,这是接收和应用来自发布者的数据的主要角色。

第二步是配置发布服务器。

在发布服务器上,需要使用SQL Server 管理工具设置发布服务器的属性。

这些属性包括发布服务器的名称、身份验证模式和连接字符串等。

第三步是创建发布。

在发布服务器上,需要创建一个发布,定义要复制的对象以及复制的规则。

可以选择复制整个数据库或者只复制部分表。

还可以选择是复制所有更改还是只复制特定类型的更改,如插入、更新或删除。

第四步是配置订阅服务器。

在订阅服务器上,需要使用SQL Server 管理工具设置订阅服务器的属性。

这些属性包括订阅服务器的名称、身份验证模式和连接字符串等。

第五步是创建订阅。

在订阅服务器上,需要创建一个订阅,定义要接收的数据以及接收数据的规则。

可以选择接收整个数据库的数据或者只接收特定表的数据。

还可以选择是接收所有更改还是只接收特定类型的更改。

第六步是启动复制。

在发布服务器和订阅服务器上,需要启动复制服务以开始复制数据。

可以通过SQL Server管理工具或者使用复制存储过程来启动复制。

第七步是监视复制。

在复制过程中,可以使用SQL Server管理工具来监视复制的状态。

可以查看复制进度、错误消息以及其他相关信息。

第八步是管理复制。

在复制过程中,可能需要对复制进行管理,如添加或删除发布者、订阅者或订阅。

SqlServer数据库同步方案详解

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 将其设为自动启动。

SQL数据库同步方法-详细操作手册(含图)

SQL数据库同步方法-详细操作手册(含图)

SQL数据库同步方法-详细操作手册(含图)SQL数据库同步方法-详细操作手册(含图)一、同步前提注意:使用合并复制时sql2000不允许更改两边的数据库结构。

即两边数据库结构要一样(表数,列数等一致),默认第一次同步源会覆盖目标。

有些数据库本身的触发器里含有alter 语句,“这种语句和复制(无论哪种)有冲突”(微软)。

要建议用户修改这种语句。

合并复制的效果:源和目标无论哪方修改以前的数据或增加新数据均会同步给对方。

二、新建用户发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户我的电脑--控制面板--管理工具--计算机管理--用户和组--右键用户--新建用户--建立一个隶属于administrator组的登陆windows的用户三、新建共享我的电脑--D:\ 新建一个目录,名为: PUB--右键PUB目录--属性--共享--选择"共享该文件夹"--通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限,推荐为everyone有所有权限--确定测试:从各自两边“运行”输入“\\对方主机名\pub”,就可以匿名访问并新增或修改文件的话就说明配置成功;另外还要从各自两边数据库的“查询分析器”登陆对方数据库,使用远端机器名,可以登陆的话说明配置成功。

如果不能用\\对方主机名\pub访问,则在网卡属性中添加NETBIOS协议。

在cmd的dos下要求能ping远端机器名,返回的结果要能转换成远端的ip地址信息。

如不能ping通,则需要修改本地的localhost文件。

在\windows\systenm32\dirver\etc目录下hosts.msn文件(用记事本打开)中添加如下内容:127.0.0.1 localhost远端ip 远端机器名四、设置代理服务设置SQL代理(SQLSERVERAGENT)服务的启动用户(发布/订阅服务器均做此设置)开始--程序--管理工具--服务--右键SQLSERVERAGENT--属性--登陆--选择"此账户"--输入或者选择第一步中创建的windows登录用户名--"密码"中输入该用户的密码完成该步骤设置后要将SQLSERVERAGENT服务设置为自动启动。

SqlServer主从数据库同步方法

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同步。

SQL2008数据库同步教程

SQL2008数据库同步教程

SQL2008数据库同步教程Sql server 2008数据库同步教程net user administrator /active:yes前言:此方案利用镜像的方法实现同步,与发布订阅方法相比具有以下优点:1、同步效率高,几乎是实时同步;2、数据库完整性好,能保证主、备服务器数据库高度统一;3、不需要区分数据库表有没有主键。

实现前提:1、主、备服务器系统版本与数据库版本一致;2、主、备服务器windows账户密码一致;3、主、备服务器sql server登录密码一致;4、主、备服务器同步前数据库完全一样(包括数据库名);5、主、备服务器在同一局域网内。

6、启用sql的tcp/ip,在配置管理器里设置(主备同时启用)7、主、备服务器sql server服务登录账户及密码一样(统一设为.\administrator,在配置管理器里设)8、登陆电脑要登administrator9、alter database 数据库名set partner off(删除数据库还原)具体操作步骤:主服务器名:sa-pc镜像服务器名:pc02数据库名:test1、登录主服务器sa-pc数据库,右击要同步的数据库test——属性——选项,将恢复模式设为完整。

2、备份主服务器sa-pc数据库,将备份类型选为“完整”。

3、备份主服务器数据库,将备份类型选为“事务日志”4、登录镜像服务器pc02数据库,依次将备份的数据和事务日志还原到镜像服务器上,选择“覆盖现有数据库”、“不对数据库执行任何操作……”(分两次还原,第一次先还原数据,第二次还原事务日志),还原完成后镜像服务器数据库test会显示“正在还原”5、登录主服务器sa-pc 数据库,右击要同步的数据库test ——任务——镜像,点击配置安全性进入配置数据库镜像安全向导,并点下一步6、根据实际选择是否需要见证服务器,这里选择“否”,7、设置主服务器名称、端口、端点名8、点击浏览更多,查找镜像服务器pc02,并设置端口及端点名称9、指定服务账户,这里设为sa(即sql server登录账户)10、点击“完成”,会提示“成功”,点“关闭”11、接下来会弹出选择框,选“不开始镜像”12、选择“高性能(异步)”,再点击开始镜像13、接下来会弹出一个窗口,选择“是”,镜像就完成了14、可以右击test数据库——任务——启动数据库镜像监视器,查看同步状态注意:1、在同步期间,镜像服务器上的数据库test始终是“正在还原状态”,无法查看表数据。

两个数据库表数据实时同步(sql2008 触发器)

两个数据库表数据实时同步(sql2008 触发器)

/****** Object: Trigger [dbo].[TR_C0T14] Script Date: 11/01/2011 13:21:04 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: <LEAMON>-- Create date: <2011-11-01>-- Description: <两个数据库表数据实时同步>-- =============================================--DROP TRIGGER TR_C0T14CREATE TRIGGER [dbo].[TR_C0T14] ON [dbo].[C0T14]FOR INSERT,UPDATE,DELETEASBEGINIF NOT EXISTS(SELECT * FROM deleted)BEGIN/*插入*/INSERT INTO leamon_test..C0T14(RATINGID,[BROKER],BROKERRATE,SFRATE,SFVALUE,F_OP1,F_OP2,F_OPC1,F_OPC2,F_9997,f _9998)SELECTRATINGID,[BROKER],BROKERRATE,SFRATE,SFVALUE,F_OP1,F_OP2,F_OPC1,F_OPC2,F_9997,f_ 9998FROM insertedWHERE NOT EXISTS (SELECT TOP 1 * FROM leamon_test..C0T14 WHERE inserted.RATINGID = leamon_test..C0T14.RATINGID)END/*删除*/ELSE IF NOT EXISTS(SELECT * FROM inserted)DELETE FROM leamon_test..C0T14WHERE RATINGID IN (SELECT RATINGID FROM deleted)-------/*若两个主键关联删除表数据ELSE IF NOT EXISTS(SELECT * FROM inserted)DELETE FROM [INPUT]..C1T30WHERE EXISTS (SELECT 1 FROM deleted B WHERE [INPUT]..C1T30.F_CODE=B.F_CODE AND[INPUT]..C1T30.REPORT=B.REPORT AND [INPUT]..C1T30.F_YEAR=B.F_YEAR) */-------/*更新*/ELSEBEGINUPDATE leamon_test..C0T14SET RATINGID = inserted.RATINGID,[BROKER] = inserted.[BROKER],BROKERRATE = inserted.BROKERRATE,SFRATE = inserted.SFRATE,SFVALUE = inserted.SFVALUE,F_OP1 = inserted.F_OP1,F_OP2 = inserted.F_OP2,F_OPC1 = inserted.F_OPC1,F_OPC2 = inserted.F_OPC2,F_9997 = inserted.F_9997,f_9998 = inserted.f_9998FROM insertedWHERE inserted.RATINGID = leamon_test..C0T14.RATINGIDAND (inserted.[BROKER] <> leamon_test..C0T14.[BROKER]OR inserted.BROKERRATE <> leamon_test..C0T14.BROKERRATEOR inserted.SFRATE <> leamon_test..C0T14.SFRATEOR inserted.SFVALUE <> leamon_test..C0T14.SFVALUEOR inserted.F_OP1 <> leamon_test..C0T14.F_OP1OR inserted.F_OP2 <> leamon_test..C0T14.F_OP2OR inserted.F_OPC1 <> leamon_test..C0T14.F_OPC1OR inserted.F_OPC2 <> leamon_test..C0T14.F_OPC2OR inserted.F_9997 <> leamon_test..C0T14.F_9997OR inserted.f_9998 <> leamon_test..C0T14.f_9998)ENDEND。

sql数据同步的方法

sql数据同步的方法

sql数据同步的方法SQL数据同步是一种重要的技术,它可以帮助确保数据库中的数据保持一致性和完整性。

以下是几种常见的SQL数据同步方法:1. 触发器(Triggers): 触发器是一种特殊的存储过程,它会在对表进行插入、更新或删除操作时自动执行。

通过在源表和目标表上设置触发器,可以在数据发生变化时自动将更改同步到目标表。

2. 复制(Replication): 复制是一种将数据从一个数据库复制到另一个数据库的技术。

它可以通过两种方式实现:异步复制和同步复制。

异步复制在数据写入源数据库后立即将更改写入目标数据库,而同步复制则等待源数据库确认已将更改写入后才将更改写入目标数据库。

3. 事务(Transactions): 事务是一组一起执行的SQL语句,它们被视为一个单一的工作单元。

如果事务中的所有语句都成功执行,则事务被提交,更改将永久保存在数据库中。

如果事务中的任何一个语句失败,则事务将被回滚,所有更改都将被撤销。

通过使用事务,可以确保在多个数据库之间同步数据时的一致性和完整性。

4. 消息队列(Message Queues): 消息队列是一种用于在应用程序之间传递消息的中间件技术。

它可以将数据变更写入消息队列,然后由目标数据库从消息队列中读取并应用这些变更。

这种方法可以确保在数据同步过程中实现异步处理和故障转移。

5. 全文检索(Full-Text Search): 对于需要同步大量文本数据的情况,全文检索是一种非常有用的技术。

通过使用全文检索引擎(如Apache Lucene或Microsoft SQL Server的全文搜索功能),可以索引和搜索大量文本数据,并将查询结果同步到其他数据库或系统中。

这些是常见的SQL数据同步方法,每种方法都有其优点和适用场景。

选择哪种方法取决于具体的需求和环境。

SQL2005数据库同步复制操作

SQL2005数据库同步复制操作

1.1.1S QL SERVER2005一、同步前的准备:本文档适应于在SQL Server 2005下通过发布订阅,将LeagView主服务器的UniMonDB 数据库同步到LeagView备份服务器上的UniMonDB上。

图中主测试服务器IP地址为10.251.4.9,备份测试服务器IP地址为10.251.4.10。

在配置同步前需要注意:(1)确认备份服务器SQL Server Agent是否运行,如没运行,则先启动运行;(2)需要在计算机管理里面建立用于数据库发布订阅的账号,或者使用Administrator账号。

(3)该方案并不取代数据库备份方案,建议用户配置数据库备份方案,定期备份数据库。

(4)备份服务器上的LeagView系统只需运行“Jboss”服务,“LeagView安全运维服务”不需要启动(5)本文档只适应于SQL Server 2005,操作前请先仔细阅读此文档。

二、发布:(1)在主LeagView服务器上打开Microsoft SQL Server 2005 Management stadio,展开实例号,右键点击“复制—本地订阅”,选择“新建发布”,如图2.1。

出现如图2.2所示界面,点击“下一步”。

图2.1 新建发布图2.2新建发布向导选择数据库服务器作为分发服务器,在此,选择LeagView主服务器所在的数据库服务器作为分发服务器。

如图2.3所示。

图2.3 选择分发服务器(2)选择快照文件夹,一般选择默认文件夹就行,如图2.4所示。

图2.4 选择快照文件夹(3)选择发布的数据库为UniMonDB,如图2.5所示。

图2.5选择发布数据库(4)选择发布类型为“快照发布”,如图2.6所示。

图2.6 发布类型为快照发布(5)选择要发布的对象,在此选择“表和视图”。

如图2.7所示。

图2.7 选择发布的对象(6)点击下一步,直到出现如图2.8所示界面中,勾选“计划在以下时间运行快照代理”和点击“更改”,配置作业计划属性,一般情况下,设定作业在每周星期六00:00更新一次发布过程,如图2.9所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL数据库同步方法-详细操作手册(含图)
一、同步前提
注意:使用合并复制时sql2000不允许更改两边的数据库结构。

即两边数据库结构要一样(表数,列数等一致),默认第一次同步源会覆盖目标。

有些数据库本身的触发器里含有alter 语句,“这种语句和复制(无论哪种)有冲突”(微软)。

要建议用户修改这种语句。

合并复制的效果:源和目标无论哪方修改以前的数据或增加新数据均会同步给对方。

二、新建用户
发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户
我的电脑--控制面板--管理工具--计算机管理--用户和组--右键用户--新建用户--建立一个隶属于administrator组的登陆windows的用户
三、新建共享
我的电脑--D:\ 新建一个目录,名为: PUB
--右键PUB目录--属性--共享--选择"共享该文件夹"--通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限,推荐为everyone
有所有权限--确定
测试:从各自两边“运行”输入“\\对方主机名\pub”,就可以匿名访问并新增或修改文件的话就说明配置成功;另外还要从各自两边数据库的“查询分析器”登陆对方数据库,使用远端机器名,可以登陆的话说明配置成功。

如果不能用\\对方主机名\pub访问,则在网卡属性中添加NETBIOS协议。

在cmd的dos下要求能ping远端机器名,返回的结果要能转换成远端的ip地址信息。

如不能ping通,则需要修改本地的localhost文件。

在\windows\systenm32\dirver\etc目录下hosts.msn文件(用记事本打开)中添加如下内容:
127.0.0.1 localhost
远端ip 远端机器名
四、设置代理服务
设置SQL代理(SQLSERVERAGENT)服务的启动用户(发布/订阅服务器均做此设置)
开始--程序--管理工具--服务
--右键SQLSERVERAGENT
--属性--登陆--选择"此账户"
--输入或者选择第一步中创建的windows登录用户名
--"密码"中输入该用户的密码
完成该步骤设置后要将SQLSERVERAGENT服务设置为自动启动。

五、互相注册
4.在发布服务器和订阅服务器上互相注册
企业管理器
--右键SQL Server组
--新建SQL Server注册...
--下一步--可用的服务器中,输入你要注册的远程服务器名--添加
--下一步--连接使用,选择第二个"SQL Server身份验证"
--下一步—SQL输入用户名和密码。

相关文档
最新文档