SQL Server学习笔记之四(什么是数据库的备份策略)
来源:互联网 发布:婚礼视频剪辑软件 编辑:程序博客网 时间:2024/04/28 07:54
备份与恢复
1. 备份和恢复的基础:事务
事务是SQL Server中的基本工作单元,事务处理保证了SQL Server数据库的一致性和可恢复性。
事务的ACID属性
A:原子性 不可分
C:一致性 数据完整
I:孤立性 执行了一半时的效果外界看不到,只能看到全部执行完的效果
D:持久性 执行成功后能持久保存到数据库
默认事务与显示事务
单条语句:update,delete,insert
显示事务:
begin transaction
commit transaction
rollback transaction
2.日志工作原理
a.应用程序修改数据
b.修改数据反应到buffer cache中
c.对数据的修改保存到磁盘的transaction log中,实时写,并且记录发生的时间
d.checkpoint发生时,把transaction log中的记录写到database中
因为transaction log是实时写,并且包含时间,所以可以使用它来回复数据库到任意的时间点。
系统重启时,SQL Server会恢复一致点,把事务日志刷新到数据文件。没有提交的事务回滚,已提交但为写到数据文件的就前滚。在每一个检查点上,保证事务日志与数据文件保持一致。
3.备份处理
a.联机备份,脱机备份
b.SQL Server恢复模型
简单恢复 只记录备份时刻的数据文件,不能恢复到即时点
完全回复 记录所有操作,但是日志文件特别大
大容量日志记录 节省了日志空间,但是不能恢复到即时点,不建议使用
可以在数据库【属性】->【选项】->【故障还原】中设置。注意:不要随意切换,应为三种回复模型的工作机制不一样,随意切换可能导致数据的不一致,所以切换时注意备份数据。
c.何时备份系统数据库
直接使用CREATE, ALTER ,DROP DATABASE语句修改数据库后需备份
master数据库:运行了某些系统存储过程:sp_addlogin这些修改服务器级数据的命令
msdb数据库:对自动化任务和DTS作了某些修改的命令
d.何时备份用户数据库
e.备份到何处
永久备份设备和临时备份文件
f.备份类型
1)完全数据库备份 Full Database Backup
备份整个数据文件和部分日志
2)差异数据库备份 Differential Backup
需要有完全数据库备份;备份自上次完全数据库备份后的数据修改部分和部分日志;
恢复时需要完全数据库备份和最近的差异数据库备份
3)事务日志备份
需要有完全数据库备份;备份自上次backup log语句到当前日志尾之间的所有数据库修改;截断事务日志
这样备份的数据量少,只备份上次备份到现在的修改;
恢复时需要完全数据库备份和所有的日志备份
事务日志备份—使用no_truncate选项
即便数据库不可访问,SQL Server也保留整个事务日志;对事务日志中已提交的事务不清除,不截断日志;使得数据库可以恢复到系统失效时刻;恢复数据库前的最后一条备份命令
BACKUP LOG Northwind TO Northwindbackup.Log with no_truncate
注意:如果日志文件损坏,此方法无效
事务日志备份—使用truncate_only或no_log选项
用于清理日志;
并不备份日志;
执行完该命令后可执行收缩文件命令截断日志文件;
执行完命令后应立刻执行完全数据库备份
建议使用:
组合使用:每周末做个完全备份,每天晚上做个差异备份,每天每隔3小时做日志备份
4)文件和文件组备份
用于超大型数据库
可单独备份数据文件
可备份文件组中所有文件
需要同时备份日志文件
MSDB数据库中的backupset表存放的是每次备份的详细信息
4.恢复数据库
a.恢复数据库的准备
1)校验备份
2)限制对数据库的访问:
只允许db_owner,dbcreator,sysadmin role成员访问
Single user访问
断开其余用户和数据库的连接
3)备份事务日志
确保数据库的一致性
捕获最后一次备份日志之后的数据库的修改
如数据库可访问,则使用不带参数的backup log
否则可尝试使用带no_truncate选项的backup log
b.恢复还是还原 RECOVERY or NORECOVERY
- SQL Server学习笔记之四(什么是数据库的备份策略)
- SQL*Server 备份策略
- SQL Server 数据库的备份
- SQL Server 维护计划实现数据库备份(策略实战)
- SQL Server 2005之定时备份数据库
- sql server 的T-SQL 学习笔记(四)
- SQL SERVER日常运维巡检系列之四——数据库备份
- 学习记录之--SQL Server 数据库学习笔记(一)
- 学习记录之--SQL Server 数据库学习笔记(二)
- sql server 数据库备份
- Sql Server备份数据库
- sql server数据库备份
- Sql Server数据库备份
- SQL Server数据库备份
- sql server数据库备份
- SQL Server 数据库学习笔记
- SQL Server 数据库 学习笔记
- SQL数据库备份的方法,SQL Server备份图文教程
- SQL Server学习笔记之二(如何让数据库抵御外界的攻击)
- 启动多个mysql服务
- SQL Server学习笔记之三(如何让数据库抵御外界的攻击)
- Atmel为基于ARM7的可定制微控制器推出入门级开发工具包
- Some Animation about Scroller in MCE
- SQL Server学习笔记之四(什么是数据库的备份策略)
- 冒泡排序
- My eyes on MCML and Media Center APP development
- delphi中利用Indy的TIdFtp控件实现FTP协议
- 实战:结合Dr.Watson系统日志和Vc6来定位多线程环境下程序异常退出的错误
- Ajax实现无刷新三联动下拉框
- code2html
- 谈谈面试
- 第一篇 敲开FLEX的大门