- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MS SQL Server 2008数据库快照
一.快照库快照是数据库(源数据库)的只读、静态视图数据库。多个快照可以位于一个源数据库中,并且可以作为数据库始终驻留在同一服务器实例上。创建快照时,每个数据库快照在事务上与源数据库一致。在被数据库所有者显式删除之前,快照始终存在。
生成一个数据快照,快照功能要把文件系统描述复制一份在磁盘空闲空间创建一个缓冲区在文件系统写操作中增加一个判断应用是否是第一次修改数据当有应用要第一次修改数据块时,快照功能就把原来的数据块保留入缓冲区,同时把数据快照的访问入口转而指向缓冲区。
运行原理数据库快照在数据页级运行。在第一次修改源数据库页之前,先将原始页从源数据库复制到快照此过程称为写时复制。快照将存储原始页,保留它们在创建快照时的数据记录对已修改页中的记录进行后续更新不会影响快照的内容对要进行第一次修改的每一页重复此过程。快照将保留自创建快照后经修改的所有数据记录的原始页。通过快照入口访问到的就是数据。而同时,应用程序仍然可以在文件系统上读写。也就是说,在应用不停的情况下,得到了一个静态数据
二.快照1. 数据库快照的在进行重大更新之前,可创建数据库快照以保护数据。一旦进行了错误操作,可以使用快照将数据库恢复到生成快照时的状态。管理测试数据库维护历史数据报表。使数据免受管理失误用户失误所带来的影响。使用为了实现可用性目标而维护的镜像数据库来减轻报表负载。数据库快照源数据库。因此,数据库快照不能代替备份和还原策略严格按计划执行备份仍然至关重要。
. 数据库快照的数据库快照使用NTFS分区所提供的稀疏文件技术,这样文件在逻辑上可以很大,但是物理上却非常小。创建快照时,实质上是空文件占用的磁盘空间很少。然而,随着源数据库中更新的页越来越多,会增长为一个很大的文件。
无更新页之前的读过程第一次写入时会把原始页页复制到快照有更新页之后的读过程可以看到快照读取的是创建快照时的那一页
D.较多的读写之后快照. 快照命名
数据库快照都需要一个唯一的数据库名称为了便于管理,数据库快照的名称可以包含标识数据库的信息,例如:源数据库的名称快照的创建日期和时间
2. 创建快照
创建测试用数据库:TestDB
USE [master]
GO
CREATE DATABASE [TestDB] ON PRIMARY
( NAME = NTestDB, FILENAME = NC:\TestDB.mdf , SIZE = 3072KB , FILEGROWTH = 1024KB ),
FILEGROUP [TestDB_1]
( NAME = NTestDB_1, FILENAME = ND:\TestDB_1.ndf , SIZE = 3072KB , FILEGROWTH = 1024KB )
LOG ON
( NAME = NTestDB_log, FILENAME = NC:\TestDB_log.ldf , SIZE = 1024KB , FILEGROWTH = 10%),
( NAME = NTestDB_1_log, FILENAME = ND:\TestDB_1_log.ldf , SIZE = 1024KB , FILEGROWTH = 10%)
GO
----------------------------------------------------------------------
根据命名规则,将快照命名为:TestDB_Snapshot_1300,语法如下:
CREATE DATABASE [TestDB_Snapshot_1300] ON
( NAME = NTestDB, FILENAME = NE:\TestDB.mdf ),
( NAME = NTestDB_1, FILENAME = NE:\TestDB_1.ndf )
AS SNAPSHOT OF TestDB
GO
----------------------------------------------------------------------
其中:TestDB_Snapshot_1300: Snapshot (DataBase) Name
NAME: source database logic file name
FILENAME: snapshot data file name
TestDB:source database name
注意:SQL Server Management Studio 不支持创建数据库快照创建数据库快照时,CREATE DATABASE 语句中不允许有日志文件、脱机文件、还原文件和不起作用的文件。SELECT
db_name(iv
文档评论(0)