恢复 SQL Server 数据库时,我注意到有 3 种不同的恢复状态可供选择:
- 恢复恢复
- 恢复但不恢复
- 待机状态下恢复
我总是将其保留为默认值,但它们都意味着什么?
(最好是通俗易懂的)
最佳答案
门 killer ,
简单来说(而不是从 SQLBOL 中复制粘贴),这样您就可以理解这些概念:
RESTORE WITH RECOVERY 使用备份媒体文件(例如 fulldata.bak)将数据库恢复到创建备份文件时的状态。如果您想及时返回以将数据库恢复到较早的状态(例如开发系统时),这非常有用。
如果您想将数据库恢复到最新的数据(即,如果您进行系统灾难恢复并且不能丢失任何数据),那么您需要恢复该备份,然后恢复自该备份以来创建的所有事务日志。这是当您使用 RESTORE NORECOVERY 时。它将允许您将以后的事务日志恢复到故障点(只要您拥有它们)。
RECOVERY WITH STANDBY 能够将数据库恢复到部分日期(如上面的 NORECOVERY),但允许数据库仍以只读方式使用。新的事务日志仍然可以应用于数据库以使其保持最新(备用服务器)。当恢复完整数据库以恢复系统操作需要很长时间时,请使用此选项。 (即,如果您有一个多 TB 数据库,需要 16 小时才能恢复,但可以每 15 分钟收到事务日志更新)。
这有点像镜像服务器 - 但没有“每笔交易”实时发送到备份服务器。
关于sql-server - SQL Server 恢复状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7954/