SQL Server 2008 数据库同步的两种方式

合集下载

SQLServer(2008)中通过触发器进行数据同步的设置说明

SQLServer(2008)中通过触发器进行数据同步的设置说明

SQLServer(2008)中通过触发器进行数据同步的设置说明根据公司领导要求,为了减轻数据库服务器上的压力。

特将其中一部分数据分离出来,放到另外一台数据库服务器上。

因此需要对基础数据进行一个同步操作。

要进行数据同步,可以通过代码、触发器、日志复制等。

因为此处涉及到的数据量不大,且不方便修改程序代码。

所有采取的是Sql Server中触发器的一个同步。

下面就对触发器进行数据同步的一些配置做下说明:环境:Sql Server 2008Windows Server 20081.确定两台数据库服务器上要进行同步的数据库及表结构2.在作为数据源的数据库服务器上对应的表上创建触发器:(204.17是数据源服务器,201.17是要同步的服务器)例子中的触发器的作用是将102.1.204.17服务器上test数据库中user表中的数据同步到201.17上的表中去(触发条件是任何添加、修改、删除操作)。

3.启动两台服务器上的Distributed Transaction Coordinator服务(开始--运行--services.msc 回车,找到前面的这个服务--启动)4.MSDTCMSDTC设置windows server 2003设置:windows server 2008设置:5.检查防火墙。

可以关闭防火墙或把MSDTC加入例外。

6.检查两台服务器通信是否正常:a) telnet DbIP 135是否可以通;b) 然后相互Ping IP;c) 再ping 相互的NetBios名称(输入ping -a ip就可以看到对应的NetBios名称),还不通的话d) 可以修改%windir%/system32/etc/hosts,或%windir%/system32/etc/lmhost.sam去掉文件扩展名,进行DB 服务和IP的绑定即可,如下图所示:到这里通过触发器进行数据库分布式开发的环境就准备好了。

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 SERVER 2008数据库同步复制

SQL SERVER 2008数据库同步复制

SQL Server 2008数据库复制实现数据库同步备份SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份。

这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用。

它是一种优于文件备份的数据库备份解决方案。

在选择数据库同步备份解决方案时,我们评估了两种方式:SQL Server 2008的数据库镜像和SQL Server 2008数据库复制。

数据库镜像的优点是系统能自动发现主服务器故障,并且自动切换至镜像服务器。

但缺点是配置复杂,镜像数据库中的数据不可见(在SQL Server Management Studio中,只能看到镜像数据库处于镜像状态,无法进行任何数据库操作,最简单的查询也不行。

想眼见为实,看看镜像数据库中的数据是否正确都不行。

只有将镜像数据库切换主数据库才可见)。

如果你要使用数据库镜像,强烈推荐killkill写的SQL Server 2005 镜像构建手册,我们就是按照这篇文章完成了数据库镜像部署测试。

最终,我们选择了SQL Server 2008数据库复制。

下面通过一个示例和大家一起学习一下如何部署SQL Server 2008数据库复制。

测试环境:Windows Server 2008 R2 + SQL Server 2008 R2(英文版),两台服务器,一台主数据库服务器CNBlogsDB1,一台备份数据库服务器CNBlogsDB2。

复制原理:我们采用的是基于快照的事务复制。

主数据库服务器生成快照,备份库服务器读取并加载该快照,然后不停地从主数据库服务器复制事务日志。

见下图:图片来自SQL Server联机丛书安装与配置步骤:一、在两台服务器上安装好SQL Server 2008 R2,主要安装的组件:Database Engine(含SQL Server Replication),Management Tools。

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始终是“正在还原状态”,无法查看表数据。

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数据同步方法,每种方法都有其优点和适用场景。

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

SQL Server 2008 R2 数据库之间的数据同步热备份

SQL Server 2008 R2 数据库之间的数据同步热备份

预期效果:数据库1的数据发生变化后,数据库2的数据根据数据库1的变化,实时进行数据同步,热备份。

前期准备(重点),在设置之前先要做的。

1.测试环境:Windows Server 2008 R2 SP1 + SQL Server 2008 R2 SP12.安装FTP 组件,FTP全部打勾,并在IIS里面新建FTP站点,并设置,这里要注意的地方有两点。

第一:要设置一个正常的登录用户,有密码和名字的那种,测试的时候,我同时也开启了匿名用户第二:就是FTP 的目录调整好,一般可能会调整两次以上,做好再调整的准备,原则是,所制定的位置就是发布服务器的生成位置,并在设置的时候设置正确。

3.防火墙,防火墙要设置好,避免测试的时候,制造麻烦。

可以先关闭。

4.Hosts ,这里要在两台服务器Host里面把自己和对方的计算机名字对应iP地址都写在双方的两个服务器里面,用与在连接的时候使用计算机名进行连接,看到很多网友都说要使用计算机名登录,而不是IP地址。

5.尽量用Windows 身份验证,同时要开启sa的登录方式。

用户必须在sysadmin组里面,这里说的组是SQL Server 的用户组。

6.两台电脑一定要启动SQL Server 代理7.建立的所有数据库的恢复模式为:完整8.SQL Server 的安装一定要记得,将数据库复制等复选框都选择上,之选一个关系数据库是不行的,其包含的复选框也都选择上。

配置部分:上面的工作都做完了并验证通过之后,开始配置1.先是要建立发布配置右键新建一个发布,没有特殊的地方。

上图》根据需要选择发布方式上图部分使用为配置权限,下面的sa为发布服务器的sa账户。

发布完成之后,右键选择发布项目,点击属性,来设置FTP发布方式。

如下图上面项目里面,照着选上,特别是上面的复选框,特别注意一下FTP登录用户,一定要在fTP上测试通过了,然后上面FTP开始路径的位置是你在设置FTP目录的时候,直接定位到“计算机名_数据库名_发布名“ 的这个目录的包含他的目录(不是这个目录)位置。

SQL Server数据同步

SQL Server数据同步

公司有一台很重要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、发布成功。

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

SQL Server 2008 数据库同步的两种方式(发布、订阅)作者: tyb1222来源: 博客园发布时间: 2011-09-04 09:35 阅读: 68812 次推荐: 30 原文链接[收藏]
上篇中说了通过SQL JOB的方式对数据库的同步,这一节作为上一节的延续介绍通过发布订阅的方式实现数据库之间的同步操作。

发布订阅份为两个步骤:1、发布。

2、订阅。

首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅。

发布可以发布一张表的部分数据,也可以对整张表进行发布。

下面分别介绍发布、订阅的过程。

一、发布。

发布需要用实际的服务器名称,不能使用服务器的IP地址进行。

能发布的信息包括【表】、【存储过程】、【用户函数】如果使用IP会有错误,如下图:
具体发布过程如下:
1、找到数据库服务器下的【复制】--【本地发布】,选择【新建发布】。

如下图:
2、选择待发布的数据库。

如下图:
3、选择发布类型。

这里选择的默认类型【快照发布】。

几种发布类型的区别,SQL SERVER都在下面给出了说明。

如下图:
4、选择待发布的类容。

如下图:
上图中右侧就是筛选的SQL语句。

5、设置快照代理。

如下图:
更改同步频率如下图:
6、设置代理安全性。

如下图:
7、填写发布名称
8、完成发布。

如下图:
二、订阅。

订阅是对数据库发布的快照进行同步,将发布的数据源数据同步到目标数据库。

具体订阅过程如下;
1、找到数据库服务器下的【复制】--【本地订阅】,选择【新建订阅】。

如下图:
2、选择订阅的发布。

如下图:
3、选择分发代理的位置;如下图:
4、选择订阅服务器上的存放同步过来的数据的一个或者多个目标数据库。

如下图:
若要添加多个订阅数据库,则点击【添加订阅服务器】。

如下图:
5、设置分发代理的安全性。

如下图:
6、设置同步计划。

如下图:
7、完成订阅。

如下图:
这样就完成了发布与订阅的整个流程。

这里,和上节一起就介绍完了SQL Server数据库同步的两种方式,希望对你有用。

相关文档
最新文档