环球网校是美国纳斯达克上市企业欢聚时代(NASDAQ:YY)旗下品牌 | 住房和城乡建设部 建筑人才培训合作单位
您现在的位置在: > 计算机类 > 计算机等级考试 > 考试辅导 >

三级SQLServer数据库快照及其查询

2010-06-25 来源:互联网 作者:第一考试网
  近日再次讲到SQL Server 2005中的数据库快照功能。这里做一个总结
  使用场景:
  只读的报表查询(可以有多个版本)
  分担源数据库压力
  将数据静止在某个时间
  对于人为失误问题的灾难恢复
  主要限制:
  要求企业版
  数据库快照与源数据库必须在一个服务器实例
  如果存在多个快照的话,就不可以使用其中某一个进行还原了
  实验步骤:
  1. 创建数据库快照
  -- =============================================
  -- Create Snapshot Template
  -- =============================================
  USE master
  GO
  -- Drop snapshot database if it already exists
  IF  EXISTS (
  SELECT name
  FROM sys.databases
  WHERE name = N'Northwind_20090725'
  )
  DROP DATABASE Northwind_NorthwindTest
  GO
  -- Create the snapshot database
  CREATE DATABASE Northwind_20090725 ON
  ( NAME = Northwind, FILENAME =
  'E:\Temp\Northwind_20090725.ss' )
  AS SNAPSHOT OF Northwind;
  GO
#

  2. 查询数据库快照
  SELECT * FROM Northwind_20090725..Customers
  3. 理解数据库快照查询的依赖关系
  我们都知道数据库快照这个功能最主要的一个特性就是所谓的"写入时复制",也就是说快照数据库最开始的时候并没有包含数据, 只有在源数据库的数据页发生变化的情况下,才会发生数据复制.
  但是不管数据有没有从源数据库复制到快照数据库,查询快照数据库都要求源数据库是在线的
  为了做这个测试,此时,如果设置源数据库的状态为脱机,则就无法完成查询
  ALTER DATABASE [Northwind] SET  OFFLINE

责编: 返回顶部  打印

关于我们联系我们友情链接网站声明网站地图广告服务帮助中心