MSSQL段恢复脚本,SQLServer段脚本

继续检查段落以确保数据库在一天结束时保持一致。当恢复顺序完成时,如果恢复的文件有效且与数据库一致,恢复后的文件将直接更改为联机状态。

段落缩减适用于所有恢复模式,但在完全恢复模式和大容量日志恢复模式中比简单恢复模式更灵活。

所有段落的还原都是从最初的还原顺序(部分恢复顺序)开始的。部分还原顺序至少可以还原和还原主文件组。在简单恢复模式下,所有的读/写文件组将恢复和恢复。在段落还原顺序,整个数据库必须处于脱机状态。随后,该数据库将处于在线状态,并且恢复的文件组处于可用状态。然而,所有尚未恢复文件组将保持脱机状态,无法访问。然而,任何脱机文件组,你可以恢复它通过文件恢复和进入在线状态。

无论什么恢复模式的数据库使用,部分还原顺序从RESTORE DATABASE语句,将恢复完整备份指定部分的选择。部分选项总是开始一个新段落还原;因此,在部分恢复秩序最初的说法,只有部分指定。当部分恢复秩序完成数据库在线,其余的文件恢复被推迟,而这些文件的状态将更改为恢复。

此后,段落还原通常包括一个或多个恢复秩序,这被称为文件组恢复秩序。你可以等待执行特定的文件组恢复秩序,和等待时间的长短由你决定。每个文件组恢复秩序恢复一个或多个脱机文件组和返回点,与数据库一致。时间和文件组数恢复秩序取决于您的恢复目标,离线文件组,你想恢复的数量,和脱机文件组,每个文件组数恢复秩序恢复。

执行段落缩减的确切要求取决于数据库的恢复模式。

让我们看一看这个例子:


-段落恢复:数据库损坏较大,当多个数据文件甚至交叉文件组被交叉时,我们必须恢复整个数据库。
如果数据库非常大,数据库的恢复时间会很长,但是我们可以通过使用SQL Server提供的段落缩减来恢复数据库。
第一,支持Oni Shi:
备份日志{ } = N会AdventureWorks磁盘: backup_test log_back_tail。trn'with no_truncate,恢复,压缩,数据= 10
-部分还原主文件组主:
还原数据库AdventureWorks } {文件组= n'primary'from盘= N想: backup_test ad_full .bak部分,恢复,数据= 10
-恢复侧文件组MST:
还原数据库AdventureWorks } {文件组= n'mst'from盘= N想: backup_test ad_full .bakWITH NORECOVERY,统计= 10
-依次恢复日志:
恢复日志{ } = N会从磁盘中backup_test: log_back_1。trn'with NORECOVERY,统计= 10
恢复日志{ } = N会从磁盘中backup_test: log_back_2。trn'with NORECOVERY,统计= 10
-恢复尾部日志并恢复
恢复日志{ } = N会从磁盘中backup_test: log_back_tail。trn'with回收、统计= 10
在这个时候,在初级和MST AdventureWorks数据库中的文件组可以访问的文件。
但在其他文件组的表,如trn文件组不能访问。
-消息8653,第16级,状态1,第二行
-查询处理器无法生成表或视图的计划,因为表位于不处于联机状态的文件组中。

然后恢复副文件组比较:
还原数据库AdventureWorks } {文件组= n'trn'from盘= N想: backup_test ad_full .bakWITH NORECOVERY,统计= 10
如果数据库不是一个企业版,上面会及时恢复日志尚未备份的数据库AdventureWorks 追尾。
你需要备份日志尾部,这意味着整个数据库在还原状态时,副文件组TRN恢复。因此,对于非企业版,只有离线段落还原,个人觉得意义不是很大…
-依次恢复日志:
恢复日志{ } = N会从磁盘中backup_test: log_back_1。trn'with NORECOVERY,统计= 10
恢复日志{ } = N会从磁盘中backup_test: log_back_2。trn'with NORECOVERY,统计= 10
-恢复尾部日志并恢复
恢复日志{ } = N会从磁盘中backup_test: log_back_tail。trn'with回收、统计= 10
在子表的文件组TRN已经可以在这个时候。
-所有段落都简化为完整