文件修复

如何在SQL Server中从快照恢复数据库?

简介:本文概述了在SQL Server中从快照恢复数据库的原因。此外,它还解释了创建数据库快照的逐步过程以及如何恢复它。此外,它还讨论了当从快照恢复不工作时,使用Stellar Toolkit for MS SQL软件来恢复数据库。从下面下载该软件的演示版本来测试其功能。

免费下载

了解SQL Server中的数据库快照

数据库快照是一个有用的特性,它有助于执行源数据库的时间点恢复。快照捕获数据库的当前状态。因此,如果您在数据库中执行了错误操作,您可以将数据库恢复到创建快照时的状态。例如,如果在对数据库执行DML操作时创建了快照,那么使用数据库快照有助于将数据库恢复到执行DML操作之前的状态。

在SQL Server中从快照恢复SQL数据库的原因

有几个原因可能要求您从SQL Server中的快照恢复数据库。最常见的原因是,从快照将数据库恢复到特定时间点比从备份恢复要快。此外,如果发生用户错误,例如意外删除表,您可以通过从快照恢复数据库来恢复被删除的表。

在SQL Server中从快照恢复数据库

让我们讨论一个示例,演示创建数据库快照、修改数据库以及从快照恢复数据库的逐步过程。

步骤1 -创建数据库快照

下面是创建新数据库快照的Transact-SQL (T-SQL)查询。

创建数据库Test_Database_dbss
(NAME = Test_Database, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.STELLAR\MSSQL\DATA\ test_databasecurcurrent .ss')
作为Test_Database的快照;

在这个查询中,' Test_Database '是我们要为其创建快照的数据库的名称。此外,' Test_Database_dbss '是快照的名称。在执行上述查询之前,请确保用数据库的名称替换数据库名称和数据库快照。

现在,让我们运行T-SQL查询,您可以在下面的屏幕中看到命令已成功执行。

使用实例创建数据库快照

刷新数据库快照文件夹。

刷新数据库快照

在展开Database Snapshots文件夹时,您可以看到创建了' Test_Database '的快照。展开它,您将看到一个与原始数据库相同的表。这只是为了演示。

创建数据库快照

步骤2 -对原始数据库进行更改

现在让我们对原始数据库进行一些更改。例如,从数据库中删除一个表。这样做:

  • 在SSMS中,右键单击数据库表并选择删除
删除数据库表
  • 当提示删除SQL数据库对象时,单击好吧
删除SQL数据库对象
  • 右键单击并点击刷新
刷新数据库表

表从原始数据库中删除。检查该表是否仍然存在于数据库快照中。

检查数据库快照中的数据

注意:如果在SQL Server中有多个数据库快照,请确保删除不需要的快照。这是因为一次只能恢复一个数据库快照。

步骤3 -从快照恢复数据库

下面是从数据库快照恢复数据库的语法:

从DATABASE_SNAPSHOT =yourdb_snapshot_name恢复数据库yourdb_name

在我们的示例中,我们将从快照中恢复' Test_Database '以恢复已删除的记录。

使用主;
恢复数据库[Test_Database] from
数据库快照= 'Test_Database_dbss';

命令执行成功,如下面的截图所示。

从快照恢复数据库

刷新原始数据库,您将看到已删除的表“CompanyDetails”现在已恢复。

从快照恢复数据库

快照依赖于源数据库。因此,如果数据库损坏,则无法从快照恢复数据库。

从快照恢复数据库的替代方案

如果无法从快照将数据库恢复到当前状态,请尝试从最近的备份恢复数据库。但是,当要从中恢复数据库的备份已经损坏时,可能会出现这种情况。您需要使用DBCC CHECKDB修复数据库,并将最小修复选项作为最后的手段。但是,使用修复选项并不能保证保持数据完整性。此外,使用' REPAIR_ALLOW_DATA_LOSS '选项会带来数据丢失的风险。

一个更好的选择是使用Stellar Toolkit for MS SQL,这是一组为dba设计的综合工具修复损坏的SQL数据库从损坏的数据库中提取数据,重置丢失或忘记的SQL数据文件密码

读:恒星的MS SQL工具包-所有在一个管理实用程序

常见问题

问:我可以将数据库快照恢复到不同的位置吗?

一个。不可以,您可以将数据库快照恢复到不同的位置,因为快照与源数据库位于同一个SQL Server实例上。

我偶尔会运行DROP操作来删除不需要的数据库表。但是,我需要恢复被删除的表,因为它包含我仍然需要的数据。可以通过从快照恢复数据库来恢复表数据吗?

答:是的,您可以通过从快照恢复数据库来恢复被删除的表。

问:如何使用Stellar Toolkit for MS SQL软件恢复数据库和恢复数据?

一个。SQL工具包包括SQL修复工具和Backup Extractor工具。如果数据库变得无法访问或损坏,您可以使用SQL修复工具修复损坏并将数据库恢复到原始状态。

如果需要从备份中恢复数据库,并且数据库已损坏,可以使用工具包中的backup Extractor工具提取并恢复数据。

进步
73% 很多人觉得这篇文章很有帮助

为什么恒星®是全球领导者

为什么选择Stellar?
  • 0+

    客户

  • 0+

    卓越岁月

  • 0+

    研发工程师

  • 0+

    国家

  • 0+

    合作伙伴

  • 0+

    所获奖项

  • 我们符合iso 27001标准
  • 我们符合iso 9001标准
  • NIST
  • HIPAA验证