SQL Server 创建数据库快照

创建数据库快照:

     必须在create database 命令中包括源数据库的每一个数据文件,原始逻辑名,新物理名与路径,

     不能指定其他属性

create database db_snapshot_name on

(....)[,(....)....]

as snapshot of db_name;

-------------------------------

例子:

      create database studio_snapshot
      on(name = 'studio',filename='E:studio_snapshot.mdf')
      as snapshot of studio;
      go

----------------------------------------------------------------------------------------------------

   1、快照文件都被创建为稀疏文件,这个是NTFS文件系统的功能,快照文件只包涵修改过的数据,所以最初,稀疏文件不包涵用户数据

        随着数据的写入NTFS会为文件分配空间,而且每次分配的空间都是64K的整数部!

   2、SQL server 会为源数据库的每一个文件创建一个位图,文件中的每一页都对应一个位,这个位用来记录这个页面有没有被保存到快照

        数据库中,第次源中的数据更新后,SQL Server 都会去更新位图,当进行快照读取时,第一件就是去查看这个位图,用来定位数据。

原文地址:https://www.cnblogs.com/JiangLe/p/4037219.html