mssqlserver2008数据库快照技术

mssqlserver2008数据库快照技术

ID:35515130

大小:190.00 KB

页数:7页

时间:2019-03-25

mssqlserver2008数据库快照技术_第1页
mssqlserver2008数据库快照技术_第2页
mssqlserver2008数据库快照技术_第3页
mssqlserver2008数据库快照技术_第4页
mssqlserver2008数据库快照技术_第5页
资源描述:

《mssqlserver2008数据库快照技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MSSQLServer2008数据库快照一.快照原理数据库快照是数据库(源数据库)的只读、静态视图,是数据库在某个时间点的映像。多个快照可以位于一个源数据库中,并且可以作为数据库始终驻留在同一服务器实例上。创建快照时,每个数据库快照在事务上与源数据库一致。在被数据库所有者显式删除之前,快照始终存在。当生成一个数据快照时,快照功能要进行以下操作:把文件系统描述复制一份;在磁盘空闲空间创建一个缓冲区;在文件系统写操作中增加一个判断,这个判断就是应用是否是第一次修改数据。当有应用要第一次修改数据块时,快照功能就把原来的数据块保

2、留入缓冲区,同时把数据快照的访问入口转而指向缓冲区。运行原理:数据库快照在数据页级运行。在第一次修改源数据库页之前,先将原始页从源数据库复制到快照数据库,此过程称为“写时复制操作”。快照将存储原始页,保留它们在创建快照时的数据记录,同时保证对已修改页中的记录进行后续更新时不会影响快照的内容,对要进行第一次修改的每一页重复此过程。通过以上操作快照将保留自创建快照后经修改的所有数据记录的原始页。数据访问时,通过快照入口访问到的就是原始数据。而同时,应用程序仍然可以在文件系统(源数据库)上读写。也就是说,在应用不停的情况下,得

3、到了一个某一时间点的静态数据。二.快照运用及工作方式1.数据库快照的运用1)在进行重大更新之前,可创建数据库快照以保护数据。一旦进行了错误操作,可以使用快照将数据库快速恢复到生成快照时的状态。2)管理测试数据库,快速撤销测试中的各种操作,使得测试环境保持一致性。3)维护历史数据,便于生成某一时间点的报表。4)使数据免受因管理失误、用户失误所带来的影响。5)使用为了实现可用性目标而维护的镜像数据库来减轻报表负载。说明:数据库快照是依赖于源数据库的。因此,采用数据库快照对源数据库的备份和还原不能代替实际意上的备份和还原策略,

4、严格按计划执行备份仍然至关重要。2.数据库快照的工作方式数据库快照使用NTFS分区所提供的稀疏文件技术,这样文件在逻辑上可以很大,但是物理上却非常小。创建快照时,数据库文件实质上是空文件,占用的磁盘空间很少。然而,随着源数据库中更新的页越来越多,数据库文件会增长为一个很大的文件。下面用图形的方式来表现从快照数据库中读取数据的方式:A.无更新页之前的读过程B。第一次写入时会把原始页页复制到快照C.有更新页之后的读过程(可以看到快照读取的是创建快照时的那一页)D.较多的读写之后三.快照实例1.快照命名数据库快照都需要一个唯一

5、的数据库名称,为了便于管理,数据库快照的名称可以包含标识数据库的信息,例如:源数据库的名称、快照的创建日期和时间等。2.创建快照创建测试用数据库:TestDBUSE[master]GOCREATEDATABASE[TestDB]ONPRIMARY(NAME=N'TestDB',FILENAME=N'C:TestDB.mdf',SIZE=3072KB,FILEGROWTH=1024KB),FILEGROUP[TestDB_1](NAME=N'TestDB_1',FILENAME=N'D:TestDB_1.ndf',SI

6、ZE=3072KB,FILEGROWTH=1024KB)LOGON(NAME=N'TestDB_log',FILENAME=N'C:TestDB_log.ldf',SIZE=1024KB,FILEGROWTH=10%),(NAME=N'TestDB_1_log',FILENAME=N'D:TestDB_1_log.ldf',SIZE=1024KB,FILEGROWTH=10%)GO---------------------------------------------------------------------

7、-根据命名规则,将快照命名为:TestDB_Snapshot_1300,语法如下:CREATEDATABASE[TestDB_Snapshot_1300]ON(NAME=N'TestDB',FILENAME=N'E:TestDB.mdf'),(NAME=N'TestDB_1',FILENAME=N'E:TestDB_1.ndf')ASSNAPSHOTOFTestDBGO----------------------------------------------------------------------其中:Te

8、stDB_Snapshot_1300:Snapshot(DataBase)NameNAME:sourcedatabaselogicfilenameFILENAME:snapshotdatafilenameTestDB:sourcedatabasename注意:SQLServerManagementStudio不支持创

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。