SQL Server 2005快照與查詢的使用場景
本文主要向你介紹的是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:\Temp\Northwind_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