当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server:数据库中的快照

MSSQL
SQL2005学习笔记 APPLY 运算符
SQL2005学习笔记 EXCEPT和INTERSECT运算符
SQL2005 学习笔记 窗口函数(OVER)
SQL2005 ROW_NUMER实现分页的两种常用方式
SQL Server中的XML数据进行insert、update、delete
在安装sql2005中或安装后sa用户无法登陆系统解决方法
SQL2005 自动备份的脚本
在SQLServer 2005中编写存储过程
SQL2005 服务器因重装改名后出错的说明
使用c#构造date数据类型
SQLServer2005 批量查询自定义对象脚本
SQLServer2005 Output子句获取刚插入的ID值
SQLServer 设置单词首字母大写
SQLServer ntile获取每组前10%的数据
安装SQL2005提示 找不到任何SQL2005组件的问题解决方案
sql2005开发版 没有任何功能可以安装
超详细的sql2005图解安装全过程
sqlserver2005 安装图解教程
winXP系统安装SQLServer2005开发版具体过程与注意问题
SQLServer 2005系统配置要求官方说明

MSSQL 中的 SQL Server:数据库中的快照


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 122 ::
收藏到网摘: n/a

本文章主要和大家分享的是数据库的快照。快照与视图有点相似,但又有所不同。与视图一样,快照是导出的关系变量;但与视图不同的是,它们是真正的关系变量,而不是虚拟的—也就是说,它们不是通过在其它关系变量上的定义来表示自身,而是(至少在理论上是)通过它们各自的物化的数据备份。

 

定义一个快照就像是执行一个查询,但不同的是:

a) 查询的结果是以一个特定的名字保存在数据库中,它是只读的关系变量。

b) 快照被定期刷新(比如每天)—也就是,它当前的值被丢掉,重新执行查询,新的结果成为快照的新值。

这样,快照就会和2 4小时前一样表示相关的数据。

快照的意义在于,很多应用—甚至可能绝大部分—可能容忍,或是需要与某个确切时间

相近的数据就可以了。报表和会计就是这一类的应用;这类应用的典型要求是数据被冻结在某一适当的时刻(比如是进行会计统计的一段时期),快照可以使这样的数据冻结而又不影响其它事务在这些数据上的更新操作(在真实数据上)。相似地,它可以为一个查询的大量数据或一个只读的应用服务,而不封锁数据库,这是非常有用的。快照是“受控冗余”(control l edredundancy)的一种特殊情况,“快照刷新”就是相应的更新过程。

一般来说,快照定义语法如下:

 

 

 

 

<now and then>应该是“月,周,天,小时,或是n分钟,还可以是周一,周末,等等(特别地,用REFRESH [ON] EVERY UPDAT E可以保持快照始终与它所导出的关系变量同步)。

下面是删除快照的语法:

 

DROP avr <relavr name>;

 

显然,< relvar name>是用来指明快照。注意:假设当一个快照定义被其它关系变量定义

所引用时, 对这个快照的删除请求会失败。相应地, 可以扩展快照定义使之包括

RESTRICT”或“CASCADE”选项。