美文网首页
SQLSERVER完整数据库还原(简单恢复模式)

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

作者: 数据与人 | 来源:发表于2021-04-21 08:59 被阅读0次

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

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

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

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

重要

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

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

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

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

image

仅还原完整数据库备份

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

image

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

基本 TRANSACT-SQL RESTORE 语法

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

<pre style="overflow: auto; margin-top: 0px; margin-bottom: 0px; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]</pre>

备注

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

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

<pre style="overflow: auto; margin-top: 0px; margin-bottom: 0px; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">RESTORE DATABASE database_name FROM backup_device WITH RECOVERY</pre>

示例 (Transact-SQL)

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

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

备注

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

<pre style="overflow: auto; margin-top: 0px; margin-bottom: 0px; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">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 </pre>

相关文章

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

    完整数据库还原(简单恢复模式) 数据库完整还原的目的是还原整个数据库。 整个数据库在还原期间处于脱机状态。 在数据...

  • SQLSERVER完整数据库还原(完整恢复模式)

    数据库完整还原的目的是还原整个数据库。 整个数据库在还原期间处于脱机状态。 在数据库的任何部分变为联机之前,必须将...

  • SQL Server 恢复模式

    SQL Server数据库有三种恢复模式:完整恢复模式、简单恢复模式和大容量日志恢复模式: 1 Full 完整恢复...

  • SQLServer

    本地安装sqlserver数据库,还原了离线的sqlserver bak文件 数据。 需要使用datax接入部分离...

  • mysqldump数据库恢复

    知识点; 简单mysql数据库恢复操作; 完整备份方式;

  • Linux 中 Docker 下 MSSQL

    今天需要将数据库还原到Linux下Docker安装的SqlServer中,在Management Studio中还...

  • 收缩数据库和日志文件大小

    --先设置数据库为单机模式(数据库名字右键属性---选项---恢复模式选择简单--确定) DBCC SHRINKD...

  • sqlserver数据库恢复到指定任意时间点

    在实际软件开发实施过程中,我们需要将数据库恢复到任意时间点,整理了sqlserver数据库恢复到任意时间点的方法供...

  • SQLServer数据库备份还原

    一 备份数据库在需要备份的数据库上右键点击 任务-->备份-->数据库 注意:只能备份到一个目标二 还原数据库在需...

  • 清理MS Sql Server日志文件

    SqlServer在使用中会产生大量的日志文件,当不需要的时候可以进行删除。 1.先把数据库设置为简单模式(右击数...

网友评论

      本文标题:SQLSERVER完整数据库还原(简单恢复模式)

      本文链接:https://www.haomeiwen.com/subject/fndalltx.html