SQL Server备份的三个恢复模型
从哪儿开始
SELECT dbpropertyex("database", "recovery")
为了改变数据库的恢复选项,运行下面的命令:
ALTER DATABASE database name SET RECOVERY {FULL | SIMPLE | BULK_LOGGED}
除数据之外,SQL Server备份还包括数据库大纲(schema)和数据库元数据(即数据库文件、文件组和它们的位置)。SQL Server允许在备份时用户依然使用数据库,所以在备份期间发生的交易也记录到备份中去了。
备份数据库
BACKUP DATABASE { database_name }
TO < backup_device > |
backup_device可以是磁盘或者磁带——或者它也可以是一个用磁盘文件、磁带或者已命名管道表示的逻辑上的备份设备。
如果你想做一个快速、一次性的备份,那么向下面那样使用磁盘文件:
BACKUP DATABASE Northwind TO DISK = "c:\backup\Northwind.bak"
如果你想把数据库备份到另外一台服务器上,可以使用UNC名字:
BACKUP DATABASE Northwind TO DISK = "\\FILESERVER\Shared\Backup\Northwind.bak"
如果想进行有规律、有计划的备份,就需要使用逻辑备份设备。一个逻辑备份设备可以保存若干个数据库备份并驻留在磁盘、磁带或者已命名管道上。如果你使用磁带设备,磁带驱动器必须在同一台物理服务器上。已命名管道可以利用第三方备份软件。
清单B给出了一个在磁盘上创建逻辑备份设备的例子。
当备份设备创建完毕,Northwind数据库可以用下面的命令进行备份:
BACKUP DATABASE Northwind TO DiskBackup
第一种方法采用差异数据库备份,它只捕获并保存全数据库备份后改变的数据。由于它的文件较小而且信息简明,用它进行数据恢复的速度非常快。
下面的例子在一个名为DiffBackupDevice的逻辑备份设备上创建了一个差异备份:
BACKUP DATABASE Northwind TO DiffBackupDevice WITH DIFFERENTIAL
第二个提高可恢复性的方法利用交易记录备份,恢复可以在一个特定的时间点上完成。
你可能会问这怎么可能。记住,交易记录的目的就是记录发生在数据库中所有交易。交易记录允许COMMIT和ROLLBACK正确工作。为了达到这个功能,该数据的变化前后的数值必须随同操作类型、交易开始(时间)等一齐被记录下来。
利用下面的列出的技巧来确保你不会在每周一次的数据库备份过程中忘记关键步骤。
- 每周一次备份主数据库。如果你创建、修改或者停止一个数据库,添加新的SQL Server消息,添加或者停止连接服务器,或者添加记录设备,那就进行手工备份。
- 每天备份一次msdb数据库。它一般非常小,但很重要,因为它包含了所有的SQL Server工作、操作和计划任务。
- 只有当你修改它时,才有必要备份模型数据库。
- 用SQL Server Agent来安排你的备份工作的时间表。
- 如果在你的生产(production)环境中有现成资源,备份生产数据库到本地磁盘或者网络服务器(用同一个开关)。然后,把备份文件/设备拷贝到磁带上。在存在许多硬件故障(特别是在RAID系统中)的情况下,磁盘常常是完好的(inact)。如果备份文件是在磁盘上,那么恢复时的速度会提高很多。
- 备份开发和测试数据库至少要用到SIMPLE恢复模型。
- 除了有计划的定时备份外,在进行未记录的(nonlogged)批操作(如,批拷贝)、创建索引、或者改变恢复模型后要备份用户数据库。
- 如果你使用的是SIMPLE恢复模型,记住在截短(truncate)交易记录之后备份你的数据库。
- 用文档记录你的恢复步骤。至少要大概记录这些步骤,注意所有的重要文件的位置。
为了备份交易记录,使用BACKUP LOG命令。其基本语法与BACKUP命令非常相似:
BACKUP LOG { database } TO <backup device>
下面是如何把交易记录备份到一个名为LogBackupDevice的逻辑设备上的例子:
BACKUP TRANSACTION Northwind TO LogBackupDevice
如果你不希望截短交易记录,使用NO_TRUNCATE选项,如下所示:
BACKUP TRANSACTION Northwind TO LogBackupDevice WITH NO_TRUNCATE
只是基本知识
0
分享
收藏
14篇文章,1W+人气,0粉丝
转载于:https://blog.51cto.com/zhuzhongwei/47114
SQL Server备份的三个恢复模型相关推荐
- SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式...
SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式 这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式,需 ...
- SQL Server数据库的三种恢复模式
SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式. sql server数据库提供了三种恢复模式:完整,简单和大容量日志,这些模式决定了sql server如何 ...
- SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式
这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式,需要的朋友可以参考下 如何图形界面下修改恢复模式 找到你想修改的数据库 右键 > 属性 ...
- SQL数据库恢复后出现对象名无效(SQL Server备份还原时造成孤立用户的解决方案
SQL数据库恢复后出现对象名无效(SQL Server备份还原时造成孤立用户的解决方案) 2011-04-18 09:38 以碰到这个烦人的问题,恢复的时候自带了个用户,但怎么也删除不掉,select ...
- oracle ola_Ola HallengrenSQL Server维护解决方案–安装和SQL Server备份解决方案
oracle ola Database administrators tend to use various scripts or applications, to make the daily SQ ...
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇 http://www.cnblogs.com/lyhabc/p/4678330.html 第二篇 http: ...
- php删除sql server 2008,MSSQL_SQL Server2008 数据库误删除数据的恢复方法分享,SQL Server中误删除数据的恢复本 - phpStudy...
SQL Server2008 数据库误删除数据的恢复方法分享 SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的 ...
- SQL Server数据库没有LDF 的恢复
SQL Server数据库没有LDF 的恢复 由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了. 如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_a ...
- SQL点滴12—SQL Server备份还原数据库中的小把戏
原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息"is formatted to support 1 media fami ...
最新文章
- 怎么将两个list集合按照条件合成一个list
- oracle变态错误解决:ORA-00604: 递归 SQL 级别 2 出现错误
- Mysql 5.5 源码安装
- Radare - 逆向工程框架
- jMeter CSV Data set config 的 sharing mode 和 Thread group loop 配合使用
- 计算机管理ap,如何设置AC功能管理无线AP
- c语言int a什么意思,问一下吧里大神 int a = a; 这么定义是什么意思?
- mysql库与oracle库的区别_开源数据库Oracle与MySQL的SQL语法区别
- STL vector的迭代器的熟练运用及lower_bound和upper_bound的使用
- 2013B题碎纸片拼接
- testbench实例 vhdl_FPGA仿真 test bench实例(VHDL)
- 格兰杰因果检验_R实现
- VS技巧 使用Visual Studio Icon Patcher将2010的图片注入到2012中
- 会议论文有影响因子吗_会议论文和期刊论文的区别
- 手把手教你安装黑苹果之openCore-0.6.3 EFI制作全过程,非常详细
- Shell判断路径是否存在
- 用FPGA产生正弦信号
- 知乎300万人围观:我为公司挣了17万,工资只有8千块,该辞职吗?
- Axure RP 9母版使用说明【教程二】
- PAKDD2020:阿里巴巴算法大赛中的得与失
热门文章
- dgl库之高级用法dgl.DGLGraph.update_all
- anaconda pip install torch报错,安装失败
- 使用Android Studio的时候如何查看开发文档,API文档,doc文档,SDK文档
- 当世界模型被用于sim2real:机器人通过视觉想象和交互尝试来学习
- 欢迎参加“城市大脑与应急管理”专家研讨会
- 这5个数学猜想最早在30年前提出,如今AI证明它们都错了
- 宇宙是一个无始无终的循环?
- Nature重磅发现:神经活动影响人类寿命!
- 汽车与智能家居互联时代 语音控制很关键
- 2018人工智能前沿报告:深度学习的应用和价值