• SQL server在完整恢复模式下将数据库还原到故障点 (TransactSQL)


    本主题说明如何还原到故障点。 本主题仅与那些使用完整或大容量日志恢复模式的数据库相关。
    还原到故障点
    通过运行以下基本 BACKUP 语句来备份日志尾部:

    1 BACKUP LOG <database_name> TO <backup_device> 
    2 WITH NORECOVERY, NO_TRUNCATE; 


    通过运行以下基本 RESTORE DATABASE 语句来还原完整数据库备份:

    1 RESTORE DATABASE <database_name> FROM <backup_device> 
    2 WITH NORECOVERY; 


    或者,通过运行以下基本 RESTORE DATABASE 语句来还原差异数据库备份:

    1 RESTORE DATABASE <database_name> FROM <backup_device> 
    2 WITH NORECOVERY; 


    通过在 RESTORE LOG 语句中指定 WITH NORECOVERY 以应用每个事务日志(包括步骤 1 中创建的结尾日志备份):

    1 RESTORE LOG <database_name> FROM <backup_device> 
    2 WITH NORECOVERY; 


    通过运行以下 RESTORE DATABASE 语句来恢复数据库:

    1 RESTORE DATABASE <database_name> 
    2 WITH RECOVERY;

    示例
    必须先完成下列准备工作,才能运行此示例:
    AdventureWorks2012 数据库的默认恢复模式是简单恢复模式。 由于该恢复模式不支持还原到故障点,因此请将 AdventureWorks2012 设置为使用完整恢复模式,方法是运行以下 ALTER DATABASE 语句:

    1 USE master; 
    2 GO 
    3 ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL; 


    通过使用以下 BACKUP 语句,创建数据库的完整数据库备份:

    1 BACKUP DATABASE AdventureWorks2012 TO DISK = 'C:\AdventureWorks2012_Data.bck'; 


    创建例程日志备份:

    1 BACKUP LOG AdventureWorks2012 TO DISK = 'C:\AdventureWorks2012_Log.bck'; 


    以下示例在创建 AdventureWorks2012 数据库的结尾日志备份后,将还原先前创建的备份。 (此步骤假设可以访问日志磁盘。)
    首先,该示例将创建捕获活动日志的数据库结尾日志备份,并使数据库处于还原状态。 然后,该示例将还原数据库备份,应用先前创建的例程日志备份,并应用结尾日志备份。 最后,该示例将在单独的步骤中恢复数据库。

    复制代码
     1 /* Example of restoring a to the point of failure */ 
     2 -- Step 1: Create a tail-log backup by using WITH NORECOVERY. 
     3 BACKUP LOG AdventureWorks2012 
     4 TO DISK = 'C:\AdventureWorks2012_Log.bck' 
     5 WITH NORECOVERY; 
     6 GO 
     7 -- Step 2: Restore the full database backup. 
     8 RESTORE DATABASE AdventureWorks2012 
     9 FROM DISK = 'C:\AdventureWorks2012_Data.bck' 
    10 WITH NORECOVERY; 
    11 GO 
    12 -- Step 3: Restore the first transaction log backup. 
    13 RESTORE LOG AdventureWorks2012 
    14 FROM DISK = 'C:\AdventureWorks2012_Log.bck' 
    15 WITH NORECOVERY; 
    16 GO 
    17 -- Step 4: Restore the tail-log backup. 
    18 RESTORE LOG AdventureWorks2012 
    19 FROM DISK = 'C:\AdventureWorks2012_Log.bck' 
    20 WITH NORECOVERY; 
    21 GO 
    22 -- Step 5: Recover the database. 
    23 RESTORE DATABASE AdventureWorks2012 
    24 WITH RECOVERY; 
    25 GO
    复制代码
  • 相关阅读:
    ESLint规则整理与实际应用
    node vue 项目git 管理
    Node.js安装及环境配置之Windows篇
    Windows服务 --- SqlDependency的使用
    插槽
    报表菜单的配置
    HTTP 错误 500.21
    项目部署错误 HTTP Error 500.19
    Steup factory 面板介绍
    Steup Factory 操作注册表
  • 原文地址:https://www.cnblogs.com/shujuyr/p/13081002.html
Copyright © 2020-2023  润新知