zoukankan      html  css  js  c++  java
  • SQLSERVER完整数据库还原(简单恢复模式)

    完整数据库还原(简单恢复模式)

    数据库完整还原的目的是还原整个数据库。 整个数据库在还原期间处于脱机状态。 

    在数据库的任何部分变为联机之前,必须将所有数据恢复到同一点,即数据库的所有部分都处于同一时间点并且不存在未提交的事务。

    在简单恢复模式下,数据库不能还原到特定备份中的特定时间点。

    重要

    建议您不要附加或还原来自未知或不可信源的数据库。 这些数据库可能包含执行非预期 Transact-SQL 代码的恶意代码,或通过修改架构或物理数据库结构导致错误。 

    使用来自未知源或不可信源的数据库前,请在非生产服务器上针对数据库运行 DBCC CHECKDB ,然后检查数据库中的代码,例如存储过程或其他用户定义代码。

    在简单恢复模式下还原数据库的概述

    简单恢复模式下的完整数据库还原只涉及一个或两个 RESTORE 语句,具体取决于是否需要还原差异数据库备份。 如果只使用完整数据库备份,则只需还原最近的备份,如下图所示。

     

    仅还原完整数据库备份

    如果还使用差异数据库备份,则应还原最近的完整数据库备份而不恢复数据库,然后还原最近的差异数据库备份并恢复数据库。 下图显示了这一过程。

     

    还原完整数据库备份和差异数据库备份

    基本 TRANSACT-SQL RESTORE 语法

    用于还原完整数据库备份的基本 Transact-SQLRESTORE 语法是:

    RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

     备注

    如果还打算还原差异数据库备份,则应使用 WITH NORECOVERY。

    用于还原数据库备份的 RESTORE 语句的基本语法是:

    RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

    示例 (Transact-SQL)

    以下示例首先显示如何使用 BACKUP 语句来创建 AdventureWorks2012 数据库的完整数据库备份和差异数据库备份。 然后按顺序还原这些备份。 将数据库还原到完成差异数据库备份时的状态。

    该示例说明数据库完整还原方案的还原序列中的关键选项。 还原顺序 由通过一个或多个还原阶段来移动数据的一个或多个还原操作组成。 将省略与此目的不相关的语法和详细信息。 在恢复数据库时,尽管 RECOVERY 选项是默认值,但为清楚起见,仍建议显式指定该选项。

     备注

    此示例以 ALTER DATABASE 语句开头,该语句将恢复模式设置为 SIMPLE。

    复制代码
    USE master;  
    
    --Make sure the database is using the simple recovery model.  
    
    ALTER DATABASE AdventureWorks2012 SET RECOVERY SIMPLE;  
    
    GO  
    
    -- Back up the full AdventureWorks2012 database.  
    
    BACKUP DATABASE AdventureWorks2012   
    
    TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'   
    
      WITH FORMAT;  
    
    GO  
    
    --Create a differential database backup.  
    
    BACKUP DATABASE AdventureWorks2012   
    
    TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'  
    
       WITH DIFFERENTIAL;  
    
    GO  
    
    --Restore the full database backup (from backup set 1).  
    
    RESTORE DATABASE AdventureWorks2012   
    
    FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'   
    
       WITH FILE=1, NORECOVERY;  
    
    --Restore the differential backup (from backup set 2).  
    
    RESTORE DATABASE AdventureWorks2012   
    
    FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'   
    
       WITH FILE=2, RECOVERY;  
    
    GO  
    复制代码

    ————————————————

    聚焦技术与人文,分享干货,共同成长更多内容请关注“数据与人”

  • 相关阅读:
    451. Sort Characters By Frequency
    424. Longest Repeating Character Replacement
    68. Text Justification
    44. Wildcard Matching
    160. Intersection of Two Linked Lists
    24. Swap Nodes in Pairs
    93. 递归实现组合型枚举
    98. 分形之城
    97. 约数之和
    96. 奇怪的汉诺塔
  • 原文地址:https://www.cnblogs.com/shujuyr/p/13081039.html
Copyright © 2011-2022 走看看