创建数据库快照

本主题说明了创建数据库快照的一些最佳方法并提供指向创建它们的过程的链接。

任何能创建数据库的用户都可以创建数据库快照。

重要说明重要提示

只有 SQL Server 2005、SQL Server 2008 和 SQL Server 2008 R2 的 Enterprise Edition 提供了 SQL Server 2005 中引入的数据库快照功能。

创建数据库快照的最佳方法

下面是进行如下操作的一些最佳方法:命名数据库快照、创建它们时进行计时、限制它们的数量以及将客户端连接重新定向到快照。

命名数据库快照

创建数据库快照之前,考虑如何命名它们是非常重要的。每个数据库快照都需要一个唯一的数据库名称。为了便于管理,数据库快照的名称可以包含标识数据库的信息,例如:

  • 源数据库的名称。

  • 该新名称用于快照的指示信息。

  • 快照的创建日期和时间、序列号或一些其他的信息(例如一天中的某个时间)以区分给定的数据库上的连续快照。

例如,考虑 AdventureWorks2008R2 数据库的一系列快照。在上午 6 时和下午 6 时(基于 24 小时制)之间,以 6 个小时作为间隔创建三个每日快照。每个每日快照保持 24 小时才被删除并被同一名称的新快照替换。请注意,每个快照名称指明了小时,而非天:

AdventureWorks2008R2_snapshot_0600
AdventureWorks2008R2_snapshot_1200
AdventureWorks2008R2_snapshot_1800

另外,如果这些每日快照创建的时间每天都变化,则推荐使用不太精确的命名约定,例如:

AdventureWorks2008R2_snapshot_morning
AdventureWorks2008R2_snapshot_noon
AdventureWorks2008R2_snapshot_evening

限制数据库快照的数量

随着时间的变化创建一系列快照可捕获源数据库的连续快照。每个数据库快照会一直存在直到显式删除。因为每个快照会随着原始页的更新而不断增长,所以您可能想在创建新快照后通过删除旧的快照来节省空间。

注意注意

如果想要还原到某个数据库快照,则需要从该数据库中删除所有其他快照。

将客户端连接到数据库快照

若要使用数据库快照,客户端需要知道它的位置。正在创建或删除另一个数据库快照时,用户可以从一个数据库快照读取。但是,如果用新快照替代现有快照,您需要将客户端重新定向到新快照。用户可以通过 SQL Server Management Studio 手动连接到数据库快照。但是,若要支持生产环境,您应该创建一个编程解决方案,该方案透明地将报表编写客户端定向到数据库的最新数据库快照。

创建数据库快照

注意注意

SQL Server Management Studio 不支持创建数据库快照。