开发者社区> 杰克.陈> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库)

简介: 原文:SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库) 场景   公司最近的sharepoint的数据库服务器老是出问题,并且在一旦出现问题,就导致无法正常工作。
+关注继续查看
原文:SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库)

场景

  公司最近的sharepoint的数据库服务器老是出问题,并且在一旦出现问题,就导致无法正常工作。最主要的是我们要加班还原以前的数据库,这是最头疼的。于是在网上查找资料,实现主备机的同步,对于sharepoint而言我们只需做到sharepoint的内容数据库同步即可。这种技术有个专业名词叫做双机热备

双机热备原理

双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在两台服务器上互为主备状态(即Active-Standby和Standby-Active状态)。

我们主要是通过SQL Server 2005 订阅复制功能来实现双机热备,如下图所示:

SQL Server 2005 订阅复制原理

 

下面的概述来自微软官方的MSDN 

SQL Server 2005 复制种类

  • 事务复制概述:

          事务性复制通常从发布数据库对象和数据的快照开始。拍摄初始快照后,随后在发布服务器中所做的数据更改和架构修改通常在修改发生时便传递给订阅服务器。数据更改在订阅服务器中应用的更改顺序以及更改所处的事务边界与在发布服务器中相同。

事务性复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务性复制:

  1. 希望发生增量更改时将其传播到订阅服务器。
  2. 从发布服务器中发生更改,到更改到达订阅服务器,应用程序需要这两者之间具有较低的滞后时间。
  3. 应用程序需要访问中间数据状态。例如,如果某一行更改了五次,事务复制允许应用程序对每次更改做出响应,而不只是对该行的最终数据更改做出响应。
  4. 发布服务器有大量的插入、更新和删除活动。
  5. 发布服务器或订阅服务器不是 SQL Server 数据库(例如,Oracle)。
  • 合并复制概述

          与事务复制相同,合并复制通常也是从发布数据库对象和数据的报表快照开始。并用触发器跟踪在发布服务器和订阅服务器中所做的后续数据更改和架构修改。订阅服务器与发布服务器在连接到网络时进行同步,并交换自上次同步以来发布服务器和订阅服务器间发生变化的所有行。

合并复制通常用于服务器到客户端的环境中。合并复制适用于下列各种情况:

  1. 多个订阅服务器可能会在不同时间更新同一数据,并将这些更改传播到发布服务器和其他订阅服务器。
  2. 订阅服务器需要接收数据,脱机更改数据,并在以后与发布服务器和其他订阅服务器同步更改。
  3. 每个订阅服务器都需要不同的数据分区。
  4. 可能会发生冲突。如果发生冲突,则需要具备检测和解决冲突的功能。
  5. 应用程序需要最终的数据更改结果,而不是访问中间数据状态。例如,如果在订阅服务器与发布服务器进行同步之前,订阅服务器中的行更改了五次,则该行在发布服务器中仅更改一次,并更改为第五个值以反映最终数据更改。

合并复制允许不同站点自主工作,然后在以后将更新合并成一个统一的结果。由于更新是在多个服务器中进行,因此,同一数据可能由发布服务器和多个订阅服务器进行了更新。于是,合并更新时就可能出现冲突。合并复制提供有数种处理冲突的方法。

  • 快照复制

    快照复制将数据以特定时刻的瞬时状态分发,而不监视对数据的更新。如果发生了同步,就会生成完整的快照并将其发送到订阅服务器。

当符合以下一个或多个条件时,使用快照复制本身是最合适的:

  1. 数据更改不频繁。
  2. 在一段时间内允许具有相对发布服务器已过时的数据副本。
  3. 复制少量数据。
  4. 短期内发生大量更改。

我们采用的是快照的方式复制订阅sharepoint内容数据库。


废话少说,我们先来看一下截图:

其中OADB05是主服务器数据库而OADB05BACKUP是备份环境数据库。

        图 1

 点击打开复制然后右击“本地复制”,选择复制类型,然后点击下一步

                    图3

选择需要复制表的属性

                                  图4

选择下一步,如果需要更改复制操作时间,请点击更改,点击下一步

 

点击完成,复制就完成了啊。

由于图很多,所以只是一部分。下面是订阅的,右击点击本地订阅选择发布的数据库,

点击下一步下一步。就ok了啊

由于图太多,没有一个一个上传,如果大家有什么问题随时联系我。或者我的方案不好的,可以提出来,大家一起讨论。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Power Designer 连接SqlServer 数据库 导出表结构
环境:PowerDesigner15 数据库sql server 2005 第一步、打开PowerDesigner ,建立一个物理数据模型,具体如下图: 第二步、新建成功之后,点击"Database"->"Connect..",配置需要连接的数据源. 具体配置如下: 第三步、点击"Database"->"Reverse Engineer Da
1483 0
数据库MySQL、Oracle、SQLServer、db2分页查询语句
#pagesize 为每页的大小. #pagenumber为要显示页面页面号. #查看学生表的2班学生 mySQL查询分页语句: select * from studenttb where stuclass='2' limit pagesize*(pagenumber-1),pagesize*pagenumber; Oracle查询分页语句: 需要分组分页: select *
2449 0
C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据
#region 帮助实例:SQL 批量插入数据 多种方法 /// /// SqlBulkCopy往数据库中批量插入数据 /// /// 数据源表 /// 服务器上目标表 /// 创建新的列映射,并使用列序号引用源列和目标列的列名称。
1340 0
设置SQLServer数据库中某些表为只读的多种方法
原文: 设置SQLServer数据库中某些表为只读的多种方法 翻译自:http://www.mssqltips.com/sqlservertip/2711/different-ways-to-make-a-table-read-onl...
659 0
PowerDesigner连接SqlServer数据库
原文:PowerDesigner连接SqlServer数据库 第一步、控制面板---管理工具---ODBC数据源---用户DNS---点击加入,依据连接数据的信息填写配置并保存(当中有一项为"更改默认的数据库为",点击并改动为须要配置数据库) 第二步、打开PowerDesigner ,建立一个物理数据模型 第三步、新建成功之后,点击"Database"->"Connect.
695 0
解剖SQLSERVER 第十七篇 使用 OrcaMDF Corruptor 故意损坏数据库(译)
原文:解剖SQLSERVER 第十七篇 使用 OrcaMDF Corruptor 故意损坏数据库(译) 解剖SQLSERVER 第十七篇 使用 OrcaMDF Corruptor 故意损坏数据库(译) http://improve.dk/corrupting-databases-purpose-using-orcamdf-corruptor/ 有时候你必须先作恶,后行善。
731 0
解剖SQLSERVER 第八篇 OrcaMDF 现在支持多数据文件的数据库(译)
原文:解剖SQLSERVER 第八篇 OrcaMDF 现在支持多数据文件的数据库(译) 解剖SQLSERVER 第八篇  OrcaMDF 现在支持多数据文件的数据库(译) http://improve.dk/orcamdf-now-supports-databases-with-multiple-data-files/   OrcaMDF 其中一个最新特性是支持多数据文件的数据库。
971 0
C语言与sqlserver数据库
原文: C语言与sqlserver数据库 1.使用C语言来操作SQL SERVER数据库,采用ODBC开放式数据库连接进行数据的添加,修改,删除,查询等操作。
660 0
SQLSERVER数据库脱机联机实现与作用
    分离和脱机都可以使数据库不能再被使用,但是分离后需要附加才能使用,而脱机后只需联机就可以用了.     使用T-SQL对数据库进行脱机: Alter database DBTest0401V2 set offline ...
761 0
SQLSERVER数据库分离作用及附加方法
    一般默认情况下数据库在联机状态下我们不能对数据库文件进行任何复制删除等操作,如果将数据库分离的话就可以对数据文件进行复制、剪切、删除等操作了。一般想直接备份数据文件,就先分离数据库,之后把数据文件复制到别的地方,再把数据文件附加回去就可以了。
446 0
+关注
杰克.陈
一个安静的程序猿~
文章
问答
文章排行榜
最热
最新
相关电子书
更多
SQL Sever迁移PG经验
立即下载
数据库2025 V3
立即下载
PostgresChina2018_董红禹_SQL_Server迁移PG经验分享
立即下载