如何恢复被误删的 SQL Server 数据? (sql server 误删数据)

在数据库管理中,数据备份是非常重要的一环。如果您的数据被意外删除或损坏,备份数据是您最重要的安全保障。但是,即使备份数据已彻底遵循更佳实践,数据丢失仍是可能的,如误删除。在这种情况下,必须知道如何手动或使用第三方工具来恢复数据。

本文将介绍一些方法和技巧,以恢复已被误删的 SQL Server数据库。

方法一:使用系统备份

如果您有一个备份文件而您的数据已被误删,您可以使用服务器的系统备份来恢复数据。

1. 打开 SQL Server Management Studio (SS)

2. 在“对象资源管理器”中,右键单击目标数据库,然后选择“任务” > “还原” > “数据库 …”。

3. 在“还原数据库”窗口中,选择“源”(Source)。

4. 现在在“源中备份集”(Backup sets to restore)下,从备份文件中选择一个备份文件以恢复丢失的数据。

5. 选择要还原的数据库的目的地,在“目的地”(Destination)选项卡中指定该选项。

6. 默认情况下,作为还原操作的一部分,将还原包含在备份中的所有文件组。要还原单个文件组,您可以使用“文件和文件组”下的“选项”选项卡。

7. 如果您有一个.dll或其它程序集,它在使用时已被删除或更改,您需要指定该选项卡的“还原已删除的”(Restore deleted)选项。

8. 单击“确定”开始还原操作。

9. 一旦操作完成,可以从“消息”窗口中查看操作的结果。

方法二:使用 SQL Server Transact-SQL语句

如果您正在查找一种更快速和精确的方法,您可以尝试手动恢复数据,使用Transact-SQL语句。

1. 打开 SQL Server Management Studio

2. 打开新的查询编辑器窗口。

3. 在查询编辑器窗口中,使用以下命令来查看最近的更新或删除:

SELECT * FROM fn_dblog(NULL,NULL)

WHERE [Transaction Name] = ‘DROPOBJ’

–OR [Transaction Name] = ‘DELETE’

ORDER BY [Begin Time] DESC

(请注意,此方式仅适用于在事务中删除的数据。)

4. 从上面的输出中,查找与目标表、行和其他条件匹配的记录。在找到之前,您将需要翻阅几页。

5. 在找到记录之后,获取相关模式和日志记录的标识。

6. 使用以下语句来还原记录:

USE [DATABASE NAME];

GO

–BEGIN TRANSACTION;

— COMMIT TRANSACTION;

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

BEGIN TRANSACTION;

GO

INSERT INTO [TABLE NAME]([COLUMN NAMES])

VALUES([COLUMN VALUES]);

GO

COMMIT TRANSACTION;

7. 现在,检查目标表以查看数据是否被成功还原。

方法三:使用第三方工具

如果您想找到一种简单快捷的恢复方式而不必手动执行 SQL Server Transact-SQL语句,则可以使用一些第三方工具来帮助您恢复已删除的数据。这些第三方工具旨在与 SQL Server完全兼容,并且具有以下优点:

1. 容易使用。

2. 提供了友好的恢复接口。

3. 能够迅速扫描服务器,以查找已删除的数据。

以下是几个值得推荐的第三方工具:

1. ApexSQL Recover

2. Stellar Phoenix SQL Database Repr

3. EaseUS Data Recovery Software

避免数据丢失和误删是您的首要任务。但是,当它们发生时,请使用本文中列出的方法进行恢复。尽管使用 SQL Server 的内置恢复功能或手动执行 Transact-SQL 语句将会消耗一些时间,但这是可行的。如果您需要更快速和简洁的方法,请考虑使用第三方工具。但是,您必须同时确保该工具是与 SQL Server 完全兼容的。


数据运维技术 » 如何恢复被误删的 SQL Server 数据? (sql server 误删数据)