本文主要向你介绍的是SQL Server 2005快照以及与查询的实际操作步骤,假如你在SQL Server 2005快照以及与查询的实际操作存在不解之处时,你不妨浏览下面的文章,希望你能从中获得自己想要的东西。
近日再次讲到SQL Server 2005快照功能。这里做一个总结
使用场景:
只读的报表查询(可以有多个版本)
分担源数据库压力
将数据静止在某个时间
对于人为失误问题的灾难恢复
主要限制:
要求企业版
数据库快照与源数据库必须在一个服务器实例
假如存在多个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:TempNorthwind_20090725.ss' ) AS SNAPSHOT OF Northwind; GO
2. 查询SQL Server 2005快照
SELECT * FROM Northwind_20090725..Customers
3. 理解数据库快照查询的依赖关系
我们都知道SQL Server 2005快照这个功能最主要的一个特性就是所谓的"写入时复制",也就是说快照数据库最开始的时候并没有包含数据, 只有在源数据库的数据页发生变化的情况下,才会发生数据复制.
但是不管数据有没有从源数据库复制到快照数据库,查询快照数据库都要求源数据库是在线的
为了做这个测试,此时,假如设置源数据库的状态为脱机,则就无法完成查询
ALTER DATABASE [Northwind] SET OFFLINE
该文文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2009/0908/15069.php