对于虚拟机来说,快照和备份有什么异同之处?

对于虚拟机来说,快照和备份有什么异同之处?,第1张

快照数据存储的某一时刻的状态记录。

备份是数据存储的某一时刻的副本。

一、相同之处:都可以用于储存。

二、不同之处:

1、数据库存不同

备份,本质上是一个副本。这等效于COPY在某个时间点将数据库中所有内容的副本放入特定文件(备份文件,通常是.bak)中。

快照基本上类似于数据库的照片,即在特定时间点(创建快照的时间点)拍摄的数据库照片。但是这张照片是可以应用于SQL语句的新数据库。

2、访问方式不同

快照数据库中的数据保持不变。创建快照后,将标识原始数据库的所有数据页。如果在创建快照后修改了数据页面,则将复制数据页,并复制未修改的数据页,将没有快照(原始数据库和快照数据库共享数据页)。

该文件不是数据库,不能直接应用SQL。必须先通过还原(可以与原始数据库名称或新数据库相同)还原到数据库,然后才能访问其中的数据。

3、状态不同

备份的结果是一个文件,可以将其复制或写入磁带(银行中)以进行脱机很难恢复。由于镜像服务器上的数据库始终处于“还原”状态,因此可以在特定的时间点生成快照,以便可以在镜像服务器上提供可访问的数据库,从而为数据仓库提供数据源。

参考资料来源:

百度百科-快照

百度百科-备份

SQLServer数据库的快照只能通过SQL语句创建,以msdb数据库为例进行说明:

1、执行以下代码,看看MSDB数据库有多少数据文件

EXEC SP_HELPDB msdb

2、为每一个数据文件创建快照,代码如下:

create database snap_MSDBData_1811221202

ON ( NAME = MSDBData, FILENAME= 'D:\userdata\temp\Snap_MSDBData.snap')

AS SNAPSHOT OF MSDB

3、在“数据库快照”那里就可以看到刚刚创建snap_MSDBData_1811221202这个快照了,对比一下快照和原库,内容是一样的

4、数据库快照其实也是一个数据库,可以在上面执行任何SQL语句,我们执行一个查询语句看看效果

SELECT *  FROM [MSDB].[dbo].[MSdbms]

SELECT *  FROM [snap_MSDBData_1811221202].[dbo].[MSdbms]

查询结果是完全一样的。

(如有帮助,请采纳,谢谢)

创建数据库

选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。

在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点

右键单击【数据库】节点,从d出来的快捷菜单中选择【新建数据库】命令。

执行上述 *** 作后,会d出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,

在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。

在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。

在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。

切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。

切换到【文件组】页,在这里可以添加或删除文件组。

完成以上 *** 作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6703794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存