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

MSSQL
将表数据生成SQL脚本的存储过程和工具
初学者必读:经典的数据库记录分页代码
使用SQL Server 2008管理非结构化数据
利用索引提高SQL Server数据处理的效率
SQL Server数据库内存会不断增加的问题分析
面向对象设计过程中必须遵守的相关准则
SQL Server 2005如何设置多字段做关键字
SQL Server 2005数据库中表的递归查询
SQL Server中使用DTS设计器进行数据转移
在查询分析器理启动或停止SQL Agent服务
教你快速掌握SQL语言中游标的使用技巧
将SQL Server中所有表的列信息显示出来
使用SQL语句快速获取SQL Server数据字典
Sql Server 2005中的架构用户登录和角色
如何保存数据库连接参数代码及步骤详解
如何使用SQL Server数据库嵌套子查询
SQL Server从安装到建库为新手寻找捷径
课程讲解 如何使用SQL Server校勘功能
数据库理论:学习基于SQL数据库的算法
教你使用SQL Server数据库进行网络链接

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 183 ::
收藏到网摘: 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”选项。