zoukankan      html  css  js  c++  java
  • MSSQL2005数据库快照(SNAPSHOT)初探

    定义:数据库快照是数据库(称为“源数据库”)的只读静态视图。在创建时,每个数据库快照在事务上都与源数据库一致。多个快照可以位于一个源数据库中,并且可以作为数据库始终驻留在同一服务器实例上。在创建数据库快照时,源数据库通常会有打开的事务。在快照可以使用之前,打开的事务会回滚以使数据库快照在事务上取得一致。在被数据库所有者显式删除之前,快照始终存在。 
    
    客户端可以查询数据库快照,这对于基于创建快照时的数据编写报表是很有用的。而且,如果以后源数据库损坏了,便可以将源数据库恢复到它在创建快照时的状态。 
    简单介绍:
    
       一、 数据库快照是数据库某个时间的快照
    
            1、即使创建的
    
            2、数据库快照是只读的
    
      二、创建的数据库快照不影响、限制对基础数据库的更新
    
      三、快照名与基础数据名称可以不一样
    
      四、数据库快照可以使数据库返回到快照的时间点
    
      五、MSSQL2005采用极其有效的空间管理机制(copy on write)可以是快照空间保存在非常小的范围内
    
            1、数据库快照无需复制完整数据库备份
    
            2、和源数据库共享无变化的数据库页面
    
            3、数据库快照仅存储已变化的数据页
    
    数据库快照的创建:
    
            --创建数据库快照
            create database DB_shot ON     --DB_shot数据库快照的名字
            (
                --是源数据库的逻辑名
                Name = DB,
                --快照文件存放的地址
                FileName = 'D:DB_shot.ss'
            ) 
            AS SNAPSHOT OF DB;
    
            --查询数据库快照的数据
    
            use DB_shot;
            go
            SELECT * FROM dbo.test;  --test为表名
    
    使用数据库快照恢复数据
    
            --从数据库快照恢复数据库
            use master;
            GO
            RESTORE DATABASE DB from 
            DATABASE_SNAPSHOT = 'DB_shot';
    
    删除数据库快照
    
            --和删除数据库的语法一样
            DROP DATABASE DB_shot

    写于2012.3.15                                                                

  • 相关阅读:
    UITextView 实现placeholder的方法
    15个重要的Android代码
    Java 网络文件传输
    iPhone打包步骤
    (转)android开发中WebView的使用(附完整程序)
    来自老外用jquery实现的内容隐藏代码
    AJAX实现页面选项卡、隔行换色、弹出层功能代码
    JavaScript防FLASH效果的下拉菜单导航代码
    CSS打造全兼容(IE6、IE7、FF)的下拉导航菜单
    很简单的CSS黑色线条滑动门代码
  • 原文地址:https://www.cnblogs.com/changshuo/p/3434372.html
Copyright © 2011-2022 走看看