SQL Server Database Snapshots

1. 创建数据库快照的几个典型用途:

(1). 可以基于database mirror生成database snapshot,后者用于reporting server

(2). 用作一个镜像级的备份

2. 创建数据库快照:

CREATE DATABASE AdventureWorks_snapshot ON
( NAME = N'AdventureWorks_Data', -- the same name
FILENAME =
N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataAW_snapshot.mdf') -- a new physical name
AS SNAPSHOT OF AdventureWorks;


3. Snapshot的原理

(1) snapshot创建后,snapshot文件都为空;当数据发生变动时,该数据页的pre-change快照被保存到snapshot中;当所有的数据页都改动以后,snapshot就包含了一个 完整的数据库镜像.

(2) Snapshot使用NT Sparse file,因此必须被创建在NTFS文件系统上.

(3) SQL Server使用一个bitmap来判断哪些数据页已经被写入了snapshot.读取snapshot时, 发生变化的数据从snapshot中读取,其余的数据从源数据库中读取.


4. SNapshot的维护

(1) 带有snapshot database的数据库不能被drop, detach,restore.

(2) offline一个数据库会drop所有的snapshot

(3) 可以将源数据库恢复到snapshot数据库创建时的状态

RESTORE DATABASE AdventureWOrks
FROM SNAPSHOT = AdventureWorks_snapshot;

5.Restrictions

(1) 不能创建master, model和tempdb的snapshot

(2) read only

(3) 不能被backup/restored

(4) 不支持detach/attach

(5) 不支持full-text indexing

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/100682/viewspace-1021645/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/100682/viewspace-1021645/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值