一旦你运行以下的脚本,就可以来操纵数据库文件储存的地方了。在这个实例上面,我将这些文件放在C:SQL Server文件夹下。在我的计算机上,当数据库被初始化创建时数据文件的大小是1,216KB,数据装载后的大小是7,360KB。既然源数据库有一些数据已经在里面了,所以我们现在就能建立一个快照了。使用以下的脚本来建立数据库快照。
|
这个创建快照的语法与创建数据库的语法非常相似。两个主要的区别:第一个区别是AS SNAPSHOT OF SourceDatabase语句,在服务器实例上指明哪个数据库
你能运行上面我使用的脚本重新在SourceDatabase数据库里面插入 10,000行数据到SalesHistory表中。这时,我的SourceDatabase数据库大小是12,480KB,同时,磁盘上我的 SourceDatabase数据库大小现在为448KB。这时在SourceDatabase数据库中所改变的数据页都已经被拷贝到 SnapshotDatabase数据库中了,这样就能解释为什么在磁盘上它的大小被增加了。
进一步思考
另外,使用数据库快照会降低数据库的性能,因为在数据库中将数据页作为执行写操作拷贝是增加了数据库输入/输出。
虽然有这些小缺点,如果你能为报表提出一个好的数据库快照创建方案,SQL Server 2005的这个新的特性将有更多的人使用。