• Ms Sql Server 2005的数据库快照功能使用实践


    数据库快照是sql server 2005的一个新功能。Msdn上对它的定义是:

    数据库快照是数据库(称为“源数据库”)的只读静态视图。在创建时,每个数据库快照在事务上都与源数据库一致。在创建数据库快照时,源数据库通常会有打开的事务。在快照可以使用之前,打开的事务会回滚以使数据库快照在事务上取得一致。 

    客户端可以查询数据库快照,这对于基于创建快照时的数据编写报表是很有用的。而且,如果以后源数据库损坏了,便可以将源数据库恢复到它在创建快照时的状态。 

    下面我们实践一下数据库快照的创建和使用:

    一.              我们创建一个数据库在此数据库的基础上创建快照

    创建源数据库和数据表

    在创建完数据库之后,我们马上创建一个快照,创建快照使用的也是CREATE DATABASE语句,如下:

    创建数据库快照

    现在的快照应该和我们新建的数据库一摸一样,可以通过sql server 2005的对象浏览器查看数据库快照,我们可以通过USE [快照库名]来查询数据库快照

    Code

    我们再次查询快照数据库中的数据

    快照查询

    二.              使用快照恢复数据库

    使用快照恢复数据库

    三.              删除数据库快照

    删除快照

    MSDN中数据库快照的典型应用是

    1) 维护历史数据以生成报表。

    2) 使用为了实现可用性目标而维护的镜像数据库来卸载报表。

    3) 使数据免受管理失误所带来的影响。

    4) 使数据免受用户失误所带来的影响。

    迄今为止,在我接触的项目中还没有快照的使用场景,本文只是一次简单的对新技术的一次动手实践,大家在实际项目中用过快照吗,请谈谈您的看法。

    完整脚本文件 下载

  • 相关阅读:
    数据库创建索引的缺点,和什么时候不该创建索引
    创建数据库,表,索引,删除索引,查看表中的索引和如何使用表中的索引
    java容器中 哪些是线程安全的
    java中集合类详解
    高并发 问题怎么解决
    数据库20个问题(关于事务、存储引擎、索引、悲观锁乐观锁)
    数据库事务(什么是事务)
    Application对象详解
    get和post 两种基本请求方式的区别
    BZOJ1003物流運輸 DP + SPFA
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/snapshot_sql.html
Copyright © 2020-2023  润新知