SQL Server 2012 创建数据库快照

本文详细介绍了在MSSQL Enterprise版本中如何正确创建数据库快照,包括必须指定所有文件及逻辑名称的要求,并提供了创建快照的具体步骤与示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

不是所有的MSSQL数据库版本都支持数据库快照,只有Enterprise版本的才支持。

在其他版本上,以Business Intelligence Edition版本为例,创建快照时,会报如下错误

消息 1844,级别 16,状态 1,第 1 行
Business Intelligence Edition 不支持 Database Snapshot。

如图

 

在Enterprise版本的数据库下,运行如下语句来创建快照会报错,错误信息为

消息 5127,级别 16,状态 1,第 1 行
必须指定用于创建数据库快照的所有文件。缺少文件“testtt_Data”。

create database testttSnapShot on
(
    name=N'testtt',filename='F:\testDataBase\testttSnapShot.ss'
)
as snapshot of testtt

这说明,创建快照时 name=N'testtt'不是随便写的。必须指定和源数据库里面的数据文件相同的逻辑名称。原来的testtt数据库的主数据文件的逻辑名称应该是testtt_Data,而不是testtt。

如果不确定主数据文件的逻辑名称,可以运行select * from testtt.sys.database_files where type=0 确认一下,也可以用图形界面

 

所以,正确的写法应该是

create database testttSnapShot on
(    
name
=N'testtt_Data',filename='F:\testDataBase\testttSnapShot.ss' ) as snapshot of testtt

这里还需要注意,如果路径不存在,会报错

 

转载于:https://www.cnblogs.com/gates/p/5101910.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值