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

MSSQL
开源MySQL公司停止提供企业版源代码tar包
细化解析:MySQL+Webmin轻松创建数据库
用mysql做站点时怎样记录未知错误的发生
SQL数据库操作类
如何利用SQL Server数据库快照形成报表
SQL Server中应当怎样得到自动编号字段
SQL Server数据库连接中常见的错误分析
详细讲解SQL Server数据库的文件恢复技术
轻松掌握SQL Server数据库的六个实用技巧
SQL Server数据库涉及到的数据仓库概念
深入了解SQL Server 2008 商业智能平台
剖析SQL Server 事务日志的收缩和截断
如何在不同版本的SQL Server中存储数据
怎样缩小SQL Server数据库的日志文件
SQL Server中两种修改对象所有者的方法
轻松掌握SQL Server存储过程的命名标准
怎样从旧版本SQL Server中重新存储数据
快速掌握如何使用SQL Server来过滤数据
教你快速掌握两个SQL Server的维护技巧
有效地使用 SQL事件探查器的提示和技巧

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


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