Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL数据库快照和SQL数据库之间?_Sql Server - Fatal编程技术网

Sql server 在SQL数据库快照和SQL数据库之间?

Sql server 在SQL数据库快照和SQL数据库之间?,sql-server,Sql Server,我只是想知道SQL数据库快照和常规SQL数据库之间有什么区别?有人能帮我理解两者的区别吗 提前感谢。快照是在某个时间点创建的另一个数据库的只读副本。对原始数据库的任何更改都会导致在拍摄快照时将数据的版本写入快照使用的文件。因此,这会影响性能,但对于准确了解数据库在过去某个时刻(当您告诉创建快照时)的外观非常有用 值得注意的是,快照在第一次创建时不包含自己的数据,因为它可以引用原始数据库,至少在原始数据库更改之前是这样。当快照第一次创建时,它是一个空壳,将所有查询(快照为只读)委托给原始数据库 在

我只是想知道SQL数据库快照和常规SQL数据库之间有什么区别?有人能帮我理解两者的区别吗


提前感谢。

快照是在某个时间点创建的另一个数据库的只读副本。对原始数据库的任何更改都会导致在拍摄快照时将数据的版本写入快照使用的文件。因此,这会影响性能,但对于准确了解数据库在过去某个时刻(当您告诉创建快照时)的外观非常有用


值得注意的是,快照在第一次创建时不包含自己的数据,因为它可以引用原始数据库,至少在原始数据库更改之前是这样。

当快照第一次创建时,它是一个空壳,将所有查询(快照为只读)委托给原始数据库

在对原始数据库进行更改时,所涉及的页面将复制到快照中。此时将在逻辑数据库上执行快照查询,该数据库是将快照中的页面分层到原始数据库中页面的结果

其效果是,快照似乎是在创建快照的同时创建的原始数据库的完整副本

其中一个有用的场景是部署更改。如果出现问题,快照可以是一种非常便宜的保险形式。假设在部署期间仅修改了原始数据库中的页面子集,则在恢复期间仅需要将该页面子集从快照复制回原始数据库