SqlServer2008版创建数据库快照

数据库快照就是指数据库在某一指定时刻的情况,数据库快照提供了源数据库在创建快照时刻的只读、静态视图。虽然数据库在不断变化,但数据库快照一旦创建就不会改变了。多个快照可以位于一个源数据库中,并且可以作为数据库始终驻留在同一服务器实例上。创建快照时,每个数据库快照在事务上与源数据库一致。在被数据库所有者显式删除之前,快照始终存在。
—摘自SqlServer教程从基础到应用

个人理解为是数据库一段时刻的备份,就像一张包含信息的照片。

创建数据库快照的T-SQL语句
create database 数据库快照名
on(
name=源数据库的逻辑文件名,
filename=‘操作系统文件名’
) [,…]
as snapshot of 源数据库名

说明:
数据库快照名,此名称在实例中必须唯一,且符合标识符规则。
要使快照工作,则必须分别指定所有数据文件,且日志文件不允许用于数据库快照。
数据库快照必须与源数据库处于同一实例中。

错误示范:

原因:name后面的名字必须是源数据库中存有的数据文件,并且源数据库里存有的mdf和ndf都要加进去,物理名filename也错了。
加上 N 是代表存入数据库时以 Unicode 格式存储,而且不能是小n哦,不然会报错。


原因:日志文件是不能在数据库快照里出现的。

原因:物理文件名也就是操作系统文件名,不能是源数据库里的数据文件物理名,得是自己再新创的数据库快照的物理名。

正确示范:

更多推荐

SQL sever创建数据库快照