SQL Server快照功能以及其查询操作

数据库 SQL Server
以下的文章主要描述的是SQL Server快照以及其查询的实际操作步骤的描述,以及对其具体的使用场景的描述,以下就是文章的主要内容的详细解说。

文章主要描述的是SQL Server快照以及其查询的实际操作步骤的描述,近日再次讲到关于SQL Server 2005数据库的快照功能。在这篇文章里我们主要是对其做一个总结,近日再次讲到SQL Server 2005中的数据库快照功能。

使用场景:

只读的报表查询(可以有多个版本)

分担源数据库压力

将数据静止在某个时间

对于人为失误问题的灾难恢复

主要限制:

要求企业版

SQL Server 2005快照与源数据库必须在一个服务器实例

如果存在多个快照的话,就不可以使用其中某一个进行还原了

实验步骤:

1. 创建SQL Server 2005快照 

  1. -- Create Snapshot Template  
  2. USE master  
  3. GO   
  4. -- Drop snapshot database if it already exists  
  5. IF  EXISTS (  
  6.  SELECT name   
  7.  FROM sys.databases   
  8.  WHERE name = N'Northwind_20090725' 
  9. )  
  10. DROP DATABASE Northwind_NorthwindTest  
  11. GO   
  12. -- Create the snapshot database  
  13. CREATE DATABASE Northwind_20090725 ON  
  14. NAME = NorthwindFILENAME =   
  15. 'E:\Temp\Northwind_20090725.ss' )  
  16. AS SNAPSHOT OF Northwind;  
  17. GO   

2. 查询数据库快照

  1. SELECT * FROM Northwind_20090725..Customers 

3. 理解数据库快照查询的依赖关系

我们都知道数据库快照这个功能最主要的一个特性就是所谓的"写入时复制",也就是说快照数据库最开始的时候并没有包含数据, 只有在源数据库的数据页发生变化的情况下,才会发生数据复制.

但是不管数据有没有从源数据库复制到快照数据库,查询SQL Server 2005快照数据库都要求源数据库是在线的

为了做这个测试,此时,如果设置源数据库的状态为脱机,则就无法完成查询

  1. ALTER DATABASE [Northwind] SET  OFFLINE 

上述的相关内容就是对SQL Server 2005快照的描述,希望会给你带来一些帮助在此方面。

延伸阅读

数据库快照是怎样工作的

可以使用典型的数据库命令CREATE DATABASE语句来生成一个数据库快照,在声明中有一个源数据库快照的附加说明。当快照被建立时,同时生成一个稀疏文件。这个文件(只能使用在NTFS卷中)在初始化的时候并没有磁盘空间分配给它——尽管你可能在WINDOWS资源管理器中看到了文件的大小,它会看上去与原始的源数据库文件的大小相同。对磁盘来说其实这个文件的大小接近于零。

数据库快照在初始化时读的数据文件是来自于源数据库的。当源数据库的数据发生变化时,数据引擎就会将原始数据从源数据库拷贝到快照数据库中。这个技术确保快照数据库只反映快照被执行时数据的状态。当SELECT命令被用来发布反对数据库快照时,不管数据页的读取是否被定位在源数据库数据文件中还是在快照数据库数据文件中都是没有锁被发布的。因为在只读数据库快照中是没有锁被发布,数据库快照对于报表解决方案是一个重要的解决方案。

【编辑推荐】

  1. SQL Server DateTime数据类型的另类解读
  2. SQL Server identity列,美中不足之处
  3. SQL Server实例中对另个实例的调用
  4. SQL Server2000连接错误的缘由有哪些?
  5. SQL Server2000连接错误的原因描述
责任编辑:佚名 来源: csdn.net
相关推荐

2012-02-08 09:53:25

Java反射

2010-07-14 17:32:53

SQL Server

2010-02-22 15:01:26

智能交换机

2010-07-08 15:40:28

SQL Server嵌

2011-08-15 13:04:46

SQL Server 外围应用配置器

2011-03-18 14:54:52

SQL Server索引结构

2011-05-20 10:52:50

SQL Server 索引

2015-08-27 15:03:08

Live Query sql2016Livesql2016 调优s

2010-07-16 11:10:52

SQL server

2010-06-28 13:27:33

SQL Server视

2010-07-06 09:20:30

SQL Server查

2020-09-16 07:00:00

Android 11AndroidAndroid

2011-04-15 11:43:24

SQL Server

2011-04-02 11:28:10

SQL Server数报表数据库快照

2010-07-05 08:31:25

SQL Server快

2010-10-21 10:28:13

SQL Server查

2011-09-07 10:24:01

SQL Server镜像

2011-02-28 17:41:20

SQL Server

2011-04-01 09:43:28

SQL Server数据库快照

2009-07-06 18:18:41

SQL Server全
点赞
收藏

51CTO技术栈公众号