SQL Server 2012 创建数据库快照

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 2012 创建数据库快照相关的知识,希望对你有一定的参考价值。

原文:SQL Server 2012 创建数据库快照

 

不是所有的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=Ntesttt,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
=Ntesttt_Data,filename=F:\\testDataBase\\testttSnapShot.ss ) as snapshot of testtt

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

技术分享图片

 




以上是关于SQL Server 2012 创建数据库快照的主要内容,如果未能解决你的问题,请参考以下文章

从快照创建的 Windows Server 2012 虚拟机无法在 GCE 上启动

无法将数据库还原到 SQL Server 中的快照

MSSQL 数据库 - SQL Server2019创建数据库并关联表空间启用快照隔离级别实例演示,使用MSSM工具创建数据库

成功创建 Always On SQL Server 快照后,Debezium 未跟踪 CDC

在SQL Server视图中使用快照隔离级别

Debezium SQL Server 连接器 Kafka 初始快照