关于SharePoint的备份还原功能,大家可能都有所了解。但是SharePoint一共有多少种备份方式呢,哪种备份方式是更适合你的呢,本文主要为大家梳理,并且深入的研究一下常见的几种备份方式,以便大家能有所了解,以及了解使用场合。

SharePoint提供了哪些级别的备份

  • Web级别的备份
  • SiteCollection级别的备份
  • 数据库级别的备份

Web级别的备份

对于Web级别的备份,我们常用的命令行是:

我们下面主要反编译一下,看看他这个方式是如何实现的,过程省略,直接找到备份的核心类:

看到这几个类图相比大家已经心里了解到,SharePoint分别对站点中上面的内容进行序列化,并且存储的,序列化的过程是什么样的呢?这里简单以Web为例:

这里基本能看到,SharePoint是通过API取属性的方式把站点集里面的内容按照功能一步一步的进行序列化的,因此备份还原都是通过API来进行的,这个例子也证明了SharePoint API本身的强大。

具体里面的实现内容不再赘述,大家可以自己了解一下。到了这里我们大体可以总结一下,Web级别备份的特点:

  • 基于SharePointAPI 进行的
  • 备份的顺序按照结构及其功能
  • 还原也是通过SharePoint API进行的,因此如果使用这种备份数据进行还原,Id等表示不会重复。

SiteCollection级别的备份

对于SiteCollection级别的备份,我们常用的命令行是:

同样的过程,我们反编译代码,看一下这个命令行的实现:

红线中标识的,看起来和ContentDatabase 有关吧,再看一下核心的方式 manager.Serialize方法。

红线中标识的关键字已经很明显的告诉了我们,SharePoint是通过对ContentDatabase里面的每一张表进行序列化,然后保存到本地了。

因此到这里,我们可以简单的归纳一下SiteCollection级别备份的特点:

  • 基于SiteCollection级别进行的,不能细化
  • 备份过程是按照数据库中表的顺序的
  • 这种方式决定了还原之后,某些Id会重复,但是实际测试结果发现SiteCollectionId不会重复

数据库级别的备份

这个就无需赘述了,他的特点是:

  • 基于Database级别的,不能细化
  • 备份过程中按照数据块进行,或者快照
  • 这种方式还原之后,Id,主键等信息和备份时完全一样

如何选择我们要使用哪种备份方式呢?

下面的列表可以帮助大家选择

内容的重复性(和备份数据进行比较):

 

SiteCollectionId

WebId

DocumentId

Web级别

不相同

不相同

不相同

SiteCollection级别

不相同

相同

相同

数据库级别

相同

相同

相同

这个列表已经列出了数据重复性,因此在使用时,我们需要考虑一下几点:

  • 同一个SPFarm中,不可以有两个Id相同的SPSite,因此数据库级别的备份,备份还原数据在同一个SPFarm中是不兼容的
  • 同一个SPContentDatabase中,不能有相同的WebId,因此SiteCollection级别的备份,备份还原数据再同一个SPContentDatabase中是不兼容的
  • Web级别的备份没有以上两个问题

效率对比:

 

理论速度

Web级别

最慢

SiteCollection级别

中等

数据库级别

效率对比,相信大家也可以理解,是用SharePointAPI的备份效率<按照Table进行备份<通过SQL进行快照备份。

因此通过比较,大家可以清晰的看出,每种备份方式的优缺点,及其效率。由于SharePoint不止提供很多接口进行了备份还原,甚至有很多第三方软件也支持了SharePoint的备份还原,但万变不离其宗,基本思路主要就是这3种,当你了解了你使用的是哪种备份方式,就可以了解到他的效率,以及可能带来的问题了。

选择哪种方式进行SharePoint的备份的更多相关文章

  1. LR选择哪种方式录制

    LR选择哪种方式录制,有以下考虑原则: 1.基于浏览器的应用程序推荐使用HTML-basic script方式录制 2.不是基于浏览器的应用程序推荐使用URL-basic script方式录制 3.如 ...

  2. Spring注解依赖注入的三种方式的优缺点以及优先选择

    当我们在使用依赖注入的时候,通常有三种方式: 1.通过构造器来注入: 2.通过setter方法来注入: 3.通过filed变量来注入: 那么他们有什么区别吗?应该选择哪种方式更好? 三种方式的区别小结 ...

  3. react创建组件的几种方式及其区别

    react创建组件有如下几种方式 ①.函数式定义的无状态组件 ②.es5原生方式React.createClass定义的组件   ③.es6形式的extends React.Component定义的组 ...

  4. React创建组件的三种方式及其区别

    内容转载于http://www.cnblogs.com/wonyun/p/5930333.html React推出后,出于不同的原因先后出现三种定义react组件的方式,殊途同归; 具体的三种方式: ...

  5. React中创建组件的3种方式

    目前作者所知道的创建react组件的方式有三种: 函数式定义(无状态组件) function MyComponent(props){ return( <h1>mycomponent< ...

  6. 【转载】Sqlserver数据库备份的几种方式

    在实际的数据库Sqlserver的运维的过程中,很多时候我们需要做到数据的备份操作,可以做到定时备份,也可以进行手动数据库备份.在实际的过程中,有时候因业务需要备份出完整数据库,而有时候又因为实际业务 ...

  7. jSP的3种方式实现radio ,checkBox,select的默认选择值。

    jSP的3种方式实现radio ,checkBox,select的默认选择值.以radiao 为例:第一种方式:在jsp中使用java 脚本,这个方法最直接,不过脚本太多,不容易维护<%Stri ...

  8. 解决 SharePoint 2010 拒绝访问爬网内容源错误的小技巧(禁用环回请求的两种方式)

    这里有一条解决在SharePoint 2010搜索爬网时遇到的“拒绝访问错误”的小技巧. 首先要检查默认内容访问帐户是否具有相应的访问权限,或者添加一条相应的爬网规则.如果目标资源库是一个ShareP ...

  9. mysql备份的4种方式

    mysql备份的4种方式 转载自:https://www.cnblogs.com/SQL888/p/5751631.html 总结: 备份方法 备份速度 恢复速度 便捷性 功能 一般用于 cp 快 快 ...

随机推荐

  1. svn 命令行创建和删除 分支和tags

    创建分支 svn cp -m "create branch" http://svn_server/xxx_repository/trunk http://svn_server/xx ...

  2. Continue To DO!

    (1)Valid Anagram 解题思路: 使用一个数组,首先遍历S相应位置加1,然后遍历T,判断此时如果相应位置为零返回FALSE,否则就减一.T遍历完毕后返回true. 代码如下: public ...

  3. bzoj 2152聪聪可可

    2152: 聪聪可可 Time Limit: 3 Sec  Memory Limit: 259 MB Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰 ...

  4. Intellij_idea-14官方快捷键中文版

    编辑类: Ctrl+Space 基本代码实例(类.方法.变量) Ctrl + Shift + Space 智能代码实例(根据需要的类型过滤方法和变量) Ctrl + Shift + Enter 完整的 ...

  5. 《机器学习实战》学习笔记——第2章 KNN

    一. KNN原理: 1. 有监督的学习 根据已知事例及其类标,对新的实例按照离他最近的K的邻居中出现频率最高的类别进行分类.伪代码如下: 1)计算已知类别数据集中的点与当前点之间的距离 2)按照距离从 ...

  6. C# 关于时间

    1.2016/7/8 00:10:10 转换成 2016-07-08T 00:10:10 在用VB动态调用WevService的时候,传入的时间格式为2016/7/8 00:10:10,导致调用出错, ...

  7. 统计学习方法笔记 Logistic regression

    logistic distribution 设X是连续随机变量,X服从逻辑斯谛分布是指X具有下列分布函数和密度函数: 式中,μ为位置参数,γ>0为形状参数. 密度函数是脉冲函数 分布函数是一条S ...

  8. Java中的转义字符

    1.转义字符 1.八进制转义序列:\ + 1到3位5数字:范围'\000'~'\377' \0:空字符     2.Unicode转义字符:\u + 四个十六进制数字:0~65535       \u ...

  9. uglifyjs压缩JS的

    一.故事总有其背景 年末将至,很多闲适的时间,于是刷刷微博,接触各种纷杂的信息——美其名曰“学习”.运气不错,遇到了一个新名词,uglifyjs. 据说是用来压缩JS文件的,据说还能优化JS,据说是基 ...

  10. 利用ASP.NET加密和解密Web.config中连接字符串

    摘自:博客园 介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Se ...