当前位置:首页 > 芯闻号 > 充电吧
[导读]创建数据库快照 (Transact-SQL)       创建 SQL Server 数据库快照的唯一方式是使用 Transact-SQL语言。 SQL Server Management Stud

创建数据库快照 (Transact-SQL)

       创建 SQL Server 数据库快照的唯一方式是使用 Transact-SQL语言。 SQL Server Management Studio 不支持

创建数据库快照。    

    一、可以使用任何恢复模式的源数据库必须满足以下先决条件:

服务器实例必须正在运行支持数据库快照的 SQL Server 版本。有关在 SQL Server 中支持数据库快照的信息,

请参阅 SQL Server  各个版本支持的功能。 

源数据库必须处于联机状态,除非该数据库在数据库镜像会话中是镜像数据库。

若要在镜像数据库中创建数据库快照,数据库必须处于同步镜像状态。

不能将源数据库配置为可缩放共享数据库。

创建数据库快照之前,考虑如何命名它们是非常重要的。 每个数据库快照都需要一个唯一的数据库名称。 为了便于

管理,数据库快照的名称可以包含标识数据库的信息,例如:

源数据库的名称。

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

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

照。

例如,考虑 AdventureWorks2012 数据库的一系列快照。 在上午 6 时和下午 6 时(基于 24 小时制)之间, 以 

6 个小时为间隔创建三个每日快照。 每个每日快照保持 24 小时才被删除并被同一名称的新快照替换。 请注意,每

个快照名称指明了小时,而非天:

AdventureWorks_snapshot_0600
AdventureWorks_snapshot_1200
AdventureWorks_snapshot_1800

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

AdventureWorks_snapshot_morning
AdventureWorks_snapshot_noon
AdventureWorks_snapshot_evening


随着时间的变化创建一系列快照可捕获源数据库的连续快照。 每个数据库快照会一直存在直到显式删除。 因为每个

快照会随着原始页的更新而不断增长,所以您可能想在创建新快照后通过删除旧的快照来节省空间。


若要使用数据库快照,客户端需要知道它的位置。 正在创建或删除另一个数据库快照时,用户可以从一个数据库快

照读取。 但是,如果用新快照替代现有快照,您需要将客户端重新定向到新快照。 用户可以通过 SQL Server Management Studio 手动连接到数据库快照。 但是,若要支持生产环境,您应该创建一个编程解决方案,该方案

透明地将报表编写客户端定向到数据库的最新数据库快照。


  二、创建数据库快照(使用 Transact-SQL)

根据源数据库的当前大小,确保有足够的磁盘空间存放数据库快照。 数据库快照的最大大小为创建快照时源数

据库的大小。 有关详细信息,请参阅查看数据库快照的稀疏文件大小 (Transact-SQL)。

使用 AS SNAPSHOT OF 子句对文件执行 CREATE DATABASE 语句。 创建快照需要指定源数据库的每个数据

库文件的逻辑名称。 语法如下:

CREATE DATABASE database_snapshot_name

    ON

    (

        NAME = logical_file_name,

        FILENAME = 'os_file_name'

    ) [ ,...n]

    AS SNAPSHOT OF source_database_name

[;]

其中,source_database_name 是源数据库,logical_file_name 是引用该文件时在 SQL Server 中使用的逻

辑名称,os_file_name 是创建该文件时操作系统使用的路径和文件名,database_snapshot_name 是要将数

据库恢复到的快照的名称。 有关该语法的完整说明,请参阅 CREATE DATABASE (Transact-SQL)。

示例 (Transact-SQL)

本部分包含以下示例:

A. 对 AdventureWorks 数据库创建快照

B. 对 Sales 数据库创建快照

A.对 AdventureWorks 数据库创建快照


此示例对 AdventureWorks 数据库创建数据库快照。 快照名称 AdventureWorks_dbss_1800 及其稀疏文件

的名称 AdventureWorks_data_1800.ss 指明了创建时间 6 P.M.(1800 小时)。

CREATE DATABASE AdventureWorks_dbss1800 ON
( NAME = AdventureWorks_Data, FILENAME = 
'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDataAdventureWorks_data_1800.ss' )
AS SNAPSHOT OF AdventureWorks;
GO

B.对 Sales 数据库创建快照


此示例对 Sales 数据库创建数据库快照 sales_snapshot1200。 此数据库是在 CREATE DATABASE 

(Transact-SQL) 中的“创建具有文件组的数据库”示例中创建的。

--Creating sales_snapshot1200 as snapshot of the
--Sales database:
CREATE DATABASE sales_snapshot1200 ON
( NAME = SPri1_dat, FILENAME = 
'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLdataSPri1dat_1200.ss'),
( NAME = SPri2_dat, FILENAME = 
'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLdataSPri2dt_1200.ss'),
( NAME = SGrp1Fi1_dat, FILENAME = 
'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERmssqldataSG1Fi1dt_1200.ss'),
( NAME = SGrp1Fi2_dat, FILENAME = 
'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLdataSG1Fi2dt_1200.ss'),
( NAME = SGrp2Fi1_dat, FILENAME = 
'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLdataSG2Fi1dt_1200.ss'),
( NAME = SGrp2Fi2_dat, FILENAME = 
'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLdataSG2Fi2dt_1200.ss')
AS SNAPSHOT OF Sales
GO




本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在MySQL数据库应用中,分页查询是常见的需求,特别是在处理大量数据时。然而,当使用ORDER BY结合LIMIT进行分页查询时,可能会遇到分页数据重复的问题。这一问题不仅影响数据的准确性,还可能导致应用程序逻辑错误。

关键字: 数据库 索引

Redis作为高性能的内存数据库,在缓存、会话存储、消息队列等场景中广泛应用。然而,随着业务规模扩大,Redis的配置、使用和维护面临诸多挑战。

关键字: Redis 数据库

在微服务架构成为主流的今天,单体应用拆分为多个独立服务后,数据一致性成为分布式系统设计的核心挑战。传统数据库事务无法跨越服务边界,导致跨服务操作出现数据不一致问题。

关键字: 数据库 ACID

北京——2026年1月5日 亚马逊云科技在2025 re:Invent全球大会上宣布,全球知名的抗体与生命科学解决方案供应商Proteintech选择亚马逊云科技为首选云服务商,基于亚马逊云科技的计算、容器、数据库和分析...

关键字: AI 数据库 网关

重庆2025年12月30日 /美通社/ -- 2025年12月28日,《中国城市国际网络形象指数报告(2025)》(以下简称《报告》)在重庆正式发布。北京、上海、中山、重庆入选国际传播力优秀案例,福州、义乌、厦门、宁波、...

关键字: 网络 BSP CIS 数据库

Redis 作为高性能键值存储系统,其设计细节中蕴含着对效率与灵活性的深刻考量。默认配置的 16 个数据库(编号 0-15)便是这一理念的典型体现。

关键字: Redis 数据库

北京——2025年12月8日 亚马逊云科技在2025 re:Invent全球大会上,宣布推出全新的Amazon AI Factories,助力企业将现有基础设施转化为高性能的AI环境。Amazon AI Factorie...

关键字: 芯片 AI 数据库

北京——2025年12月2日 亚马逊云科技在2025 re:Invent全球大会上,宣布为Amazon Transform推出全新的Agent功能,以快速推进代码和应用现代化,助力客户更快消除技术债务,将更多资源投入创新...

关键字: AI UI框架 数据库

珠海2025年11月21日 /美通社/ -- 11月18日,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(以下简称"TÜV莱茵&qu...

关键字: 航天 质量管理体系 ISO 数据库

北京——2025年8月15日,亚马逊云科技日前宣布,Amazon DocumentDB Serverless已正式可用,这是Amazon DocumentDB(兼容MongoDB)的一种全新配置,能够根据应用程序需求自动...

关键字: 数据库 服务器
关闭