<b>SQL Server 2008高可用性系列:数据库快照</b>[MSSQL防范]
本文“<b>SQL Server 2008高可用性系列:数据库快照</b>[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
一: 简介
数据库快照是数据库(源数据库)的只读、静态视图.多个快照可以位于一个源数据库中,并且可以作为数据库始终驻留在同一服务器实例上.成立快照时,每个数据库快照在事件上与源数据库一致.在被数据库全部者显式删除之前,快照始终存在.
快照可用于报表.别的,假如源数据库呈现用户错误,还可将源数据库恢复到成立快照时的状况.丧失的数据仅限于成立快照后数据库更新的数据.
运行原理: 数据库快照在数据页级运行.在第一次改正源数据库页之前,先将原始页从源数据库复制到快照.此历程称为“写入时复制操作”.快照将存储原始页,保存它们在成立快照时的数据记录.对已改正页中的记录举行后续更新不会影响快照的内容.对要举行第一次改正的每一页反复此历程.这样,快照将保存自成立快照后经改正的全部数据记录的原始页.
注:只有 SQL Server 2005 Enterprise Edition 和更高版本才供应数据库快照功效,全部恢复情势都支持数据库快照.
二:数据库快照的典型用法及工作方法
1. 数据库快照的典型用法:
保护历史数据以生成报表.
利用为了实现可用性目标而保护的镜像数据库来减轻报表负载.
使数据免受管理失误所带来的影响.
在举行庞大更新(比方,大容量更新或架构更改)之前,可成立数据库快照以保护数据.一旦举行了错误操作,可以利用快照将数据库恢复到生成快照时的状况.
使数据免受用户失误所带来的影响.
管理测试数据库
提醒:数据库快照与源数据库相关.因此,利用数据库快照复原数据库不能替换备份和复原战略.严峻按筹划履行备份仍旧至关重要.假如必须将源数据库复原到成立数据库快照的时间点,请实施答应您履行该操作的备份战略.
2. 数据库快照的工作方法
理解快照中的稀疏文件:为了存储复制的原始页,快照利用一个或多个“稀疏文件”.最初,稀疏文件实质上是空文件,不包含用户数据并且未被分配存储用户数据的磁盘空间.随着源数据库中更新的页越来越多,文件的大小也不断增长.成立快照时,稀疏文件占用的磁盘空间很少.但是,由于数据库随着时间的推移不断更新,稀疏文件会增长为一个很大的文件.
快照的工作方法:
(1) 写操作
第一次写入时会把原始页页复制到快照.
(2) 读操作
无更新页之前的读历程
有更新页之后的读历程,可以看到快照读取的是成立快照时的那一页.
(3) 较多的读写之后
随着源数据库中更新的页越来越多,拷贝到快照中的页页越来越多,文件的大小也不断增长.
快照保存的是数据更新之前的那份拷贝,所以通过快照读取的数据是数据更新之前的那一份,数据丧失便可以恢复到成立快照的这个时间点.
三:利用实例
1. 快照的命名
成立数据库快照之前,考虑若何命名它们是非常重要的.每个数据库快照都需求一个唯一的数据库名称.为了便于管理,数据库快照的名称可以包含标识数据库的信息,比方:
源数据库的名称.
该新名称用于快照的指导信息.
快照的成立日期和时间、序列号或一些其他的信息(比方一天中的某个时间)以辨别给定的数据库上的持续快照.
如:
以6个小时为隔断(06:00-18:00之间)成立快照:
AdventureWorks2008_snapshot_0600
AdventureWorks2008_snapshot_1200
AdventureWorks2008_snapshot_1800
大概不太切确的命名:
AdventureWorks2008_snapshot_morning
AdventureWorks2008_snapshot_noon
AdventureWorks2008_snapshot_evening
2. 成立数据库快照
语法示例:
- CREATE DATABASE AdventureWorks2008_dbss1800 ON
- ( NAME = AdventureWorks2008_Data, FILENAME = ‘D:\DATA\AdventureWorks2008_data_1800.ss' )
- AS SNAPSHOT OF AdventureWorks2008;
- .Snapshot Name: AdventureWorks2008_dbss1800
- .NAME: source database data file name
- .FILENAME: snapshot sparse file name
3. 删掉数据库快照
- DROP DATABASE AdventureWorks2008_dbss1800
四:数据库快照的限制
1. 对源数据库的限制
不能对数据库举行删除、别离或复原.
源数据库的性能遭到影响.由于每次更新页时城市对快照履行“写入时复制”操作,招致源数据库上的 I/O 增添.
不能从源数据库或任何快照中删除文件.
源数据库必须处于联机状况,除非该数据库在数据库镜像会话中是镜像数据库.
不能将源数据库配置为可缩放同享数据库.
若要在镜像数据库中成立数据库快照,数据库必须处于同步镜像状况.
2. 数据库快照的限制
数据库快照必须与源数据库在相同的服务器实例上成立和保存.
始终对整个数据库拍摄数据库快照.
数据库快照与源数据库相关.因此,利用数据库快照复原数据库不能替换备份和复原战略.严峻按筹划履行备份仍旧至关重要.假如必须将源数据库复原到成立数据库快照的时间点,请实施答应您履行该操作的备份战略.
当将源数据库中更新的页强迫压入快照时,假如快照用尽磁盘空间大概碰到其他错误,则该快照将成为可疑快照并且必须将其删除.
快照为只读.
禁止对 model 数据库、master 数据库和 tempdb 数据库成立快照.
不能从数据库快照中删除文件.
不能备份或复原数据库快照.
不能附加或别离数据库快照.
注:更多的限制请参照MSDN.
四:总结
数据库快照只是供应数据恢复的一种方法,在碰到灾难发生时, 数据可以恢复到成立快照的那个时间点.恢复操作可以恢复近来呈现的严重用户错误,如删除表等.不能替换完好的备份复原战略.
原文标题:SQL Server 2008高可用性(High Availability)简介(2)—Database Snapshots
链接:http://www.cnblogs.com/changbluesky/archive/2010/09/08/1821318.html
以上是“<b>SQL Server 2008高可用性系列:数据库快照</b>[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |