第11.1节:创建数据库快照

数据库快照是SQL Server数据库(源数据库)的只读静态视图。它类似于备份,但它作为任何其他数据库可用,因此客户端可以查询快照数据库。

CREATE DATABASE MyDatabase_morning -- 快照的名称
ON (
    NAME=MyDatabase_data, -- 源数据库数据文件的逻辑名称
    FILENAME='C:\SnapShots\MySnapshot_Data.ss' -- 快照文件
)
AS SNAPSHOT OF MyDatabase; -- 源数据库的名称

您还可以为具有多个文件的数据库创建快照:

CREATE DATABASE MyMultiFileDBSnapshot
ON (
    NAME=MyMultiFileDb_ft, 
    FILENAME='C:\SnapShots\MyMultiFileDb_ft.ss'
),
(
    NAME=MyMultiFileDb_sys, 
    FILENAME='C:\SnapShots\MyMultiFileDb_sys.ss'
),
(
    NAME=MyMultiFileDb_data, 
    FILENAME='C:\SnapShots\MyMultiFileDb_data.ss'
),
(
    NAME=MyMultiFileDb_indx, 
    FILENAME='C:\SnapShots\MyMultiFileDb_indx.ss'
)
AS SNAPSHOT OF MultiFileDb;

第11.2节:还原数据库快照

如果源数据库中的数据损坏或某些错误数据被写入数据库,在某些情况下,将数据库还原到损坏之前的数据库快照可能是从备份还原数据库的合适替代方案。

RESTORE DATABASE MYDATABASE FROM DATABASE_SNAPSHOT='MyDatabase_morning';

警告:这将删除自快照拍摄以来对源数据库所做的所有更改!

第11.3节:删除快照

您可以使用DELETE DATABASE语句删除数据库的现有快照:

DROP DATABASE Mydatabase_morning

在此语句中,您应该引用数据库快照的名称。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐