日期:2014-05-16  浏览次数:20468 次

使用镜像数据库减轻报表的负载

大家都SQL Server可以使用镜像保证HA。默认情况下镜像是无法进行访问的,这样就造成了镜像数据库资源的浪费。

 

其实镜像上也可以通过创建快照的方式实现只读。这样可以将一部分报表访问的压力放到镜像数据库来做。

 

注意:若要在镜像数据库中创建数据库快照,数据库必须处于同步镜像状态

 

在镜像数据库上创建快照可以使用下面的命令:

 

CREATE DATABASE AdventureWorks2008_Snapshot  ON

(

NAME = AdventureWorks2008_Data,

FILENAME = 'D:\DATA\AdventureWorks2008_Snapshot.SNP'

)

AS SNAPSHOT OF AdventureWorks2008

 

创建完成后使用SSMS连接在database Snapshot文件夹下面可以看到:

 

可以访问数据:

 

删除快照数据库:

 

use master

go

DROP DATABASE  AdventureWorks2008_Snapshot ;

 

限制:由于数据库快照是静态的,只读的并且只能访问快照创建时的数据,所以即时的数据访问是不适合的。而且需要定期的删除创建新的快照数据库。