SQL erver数据库备份还原之备份压缩概述

自 SQL Server 2008 及更高版本启用备份压缩,基本上有 2 个选项可以选择创建 SQL 数据库的压缩备份

SQL Server 中的备份压缩(2008 及更高版本):您将获得 BAK 文件,它们可以由 SQL Server 直接还原。

“其他压缩软件”:您将获得 ZIP、RAR 和许多其他格式的压缩文件。它们不能直接恢复。

那么,如何在SQL Server中恢复压缩备份呢?在这里我总结了3种恢复单个数据库的方法。

如何从 ZIP/RAR 文件恢复 SQL 数据库

正如我之前提到的,SQL 数据库不能直接从 ZIP/RAR 文件中恢复,因此您需要先将它们解压缩到 BAK 文件中,其余操作都是一样的。

双击 ZIP/RAR 文件将它们解压缩为 BAK 文件。

如何从 bak 文件恢复 SQL 数据库

由于包含压缩数据的BAK文件可以直接在SQL Server中恢复,所以操作与往常一样。在这里我总结了 3 种常用的方法来做到这一点。

方法 1. 使用 SSMS GUI实现SQL Server数据库备份还原

在 SQL Server 中,您可以从 bak 文件恢复数据库使用 SSMS GUI。这也是最直观的方式。

1. 启动SQL Server Management Studio (SSMS)并连接到您的实例,右键单击 “数据库”并选择 还原数据库...

恢复数据库

2. 在提示窗口的通用页面中,在部分选择设备,然后单击空白旁边的...按钮

单击“添加”找到您要恢复的 BAK 文件。其余信息将自动填写。

选择备份

3.然后您可以单击“确定”开始。

恢复成功

方法 2. 使用 T-SQL 命令在 SQL Server 中实现SQL Server数据库备份还原

1. 启动SSMS并连接到您的实例,单击上方栏上的“新建查询”。输入以下命令:

RESTORE DATABASE databasename FROM DISK = '“文件路径”

注意:如果你想覆盖现有的数据库,你可以在'filepath'之后添加WITH REPLACE。但要小心,这可能会导致数据丢失。

2. 然后你可以点击上方栏的“执行”开始恢复。

T-SQL 还原数据库

方法三、使用CMD命令恢复SQL Server中的压缩备份

1. 使用Win+R键盘快捷键打开windows 中的“运行,输入”CMD并单击“确定”

2. 在命令提示符窗口中输入以下命令:

sqlcmd -E -S instancename -Q “RESTORE DATABASE databasename FROM DISK=' filepath'

注意
“-E”:指的是使用可信连接连接到数据库,而不使用用户名和密码。
“-S” : 指的是SQL Server要连接的实例的名称。
“-Q”:指在启动SqlCmd命令时执行查询,然后立即退出。

CMD 恢复数据库

恢复时常见问题的原因及解决方法

SQL Server数据库备份还原时,通常会遇到 3 种类型的问题。下面我列出原因和解决的具体步骤。

如果恢复时间太长

● 可能原因:可用磁盘空间不足。

● 解决方法:使用维护计划定期清理磁盘上存储的旧备份(Express 版本不可用)。

● 具体步骤

1. 启动SSMS并连接到您的实例,右键单击SQL Server 代理,选择Start

启动代理

2. 打开“管理”选项卡,右键单击“维护计划”,选择“新建维护计划…”并在提示窗口中为该计划命名。

新维护计划

3. 点击上方栏的“工具箱”,在左侧选项卡中选择“维护清理任务,将其拖入右侧空白处”。双击任务。

维护清理任务

4. 在提示窗口中,选择“备份文件”作为删除文件。

“文件位置”部分,选择“搜索文件夹并根据扩展名删除文件”,然后单击...按钮找到存储备份的文件夹,在“文件扩展名中输入”bak以删除备份。

注意:我在文件扩展名中输入trn可以删除事务日志。
输入txt就可以删除文本报表文件。
如果要全部删除,需要将多个Maintenance Cleanup Task拖入空白处,分别设置。

“文件期限”部分,指定时间和旧文件将被删除。然后您可以单击“确定”完成设置。

删除设置

5. 单击上方栏中的Subplan Schedule (日历图标)以安排此任务的“频率”“持续时间”。单击“确定”完成设置。

安排时间

6. 在此之后,您可以使用Ctrl+S窗口快捷方式来保存此任务。然后打开SQL Server 代理 > 作业选项卡以找到新创建的任务。右键单击此任务并选择Start Job at Step…以执行此任务。

从一步开始工作

如果由于正在使用数据库而导致恢复失败

● 可能原因:用户使用后没有关闭查询窗口,或其他用户正在使用该数据库。

● 解决方案:使用T-SQL 命令终止所有活动进程。

● 具体步骤

1. 启动SSMS并连接到您的实例,单击上方栏上的新建查询,输入以下 T-SQL 命令

使用 master
GO
DECLARE @Sql NVARCHAR(max)
SET @Sql=''
select @ Sql=@Sql +'kill '+cast(spid as varchar(50))+';' 来自 sys.sysprocesses where dbid=DB_ID(' databasename ')
EXEC(@Sql)

2. 然后点击“执行”。活动进程将全部关闭。

杀死所有活动进程

有关解决此错误的更多详细信息,请参阅SQL Server 恢复正在使用的数据库.

如果备份文件损坏

● 可能原因: 备份文件损坏。(默认情况下,恢复会在遇到错误时停止)

● 解决方案: 指定还原以跳过错误并继续还原。完成后,您可以使用事务日志来完成数据库(SQL Server 2005 之前的版本不可用)。

● 具体步骤

1. 启动SSMS并连接到您的实例,单击上方栏上的新建查询,输入以下 T-SQL 命令

RESTORE DATABASE 数据库名 FROM DISK = 'filename' WITH REPLACE,CONTINUE_AFTER_ERROR

2. 然后点击“执行”开始恢复。

注意:CONTINUE_AFTER_ERROR 是 SQL Server 2005 及更高版本上的新紧急补救措施,因此在以前的版本中不可用。此外,如果关键信息被损坏,恢复仍然可能失败。

出错后继续

使用压缩备份和恢复数据库的一种有效替代方法

如您所见,创建压缩备份是一种非常实用的节省磁盘空间和提高效率的方法,但是您在备份和恢复时可能会出错。修复它们可能会更麻烦。这就是我推荐你的原因傲梅企业备份网络版.

AOMEI Centralized Bacupper Database是一款界面直观、操作简单的专业备份软件。它提供 2 级压缩,可以为您节省更多磁盘空间。此外,它专为企业设计,可以让一个专家在一台控制计算机上集中操作和管理局域网内所有windows PC、工作站和服务器的备份。它可以显着提高效率并减少人工错误。

为您提供180天免费试用:

要正确使用它来管理和操作局域网内的多台计算机,您需要先执行以下步骤:

启动傲梅企业备份网络版 并通过单击“计算机” > “安装客户端程序”远程或手动安装客户端程序

安装客户端程序

对于手动安装了客户端程序的计算机,您需要对其进行请求控制才能进行进一步的操作。

单击“计算机” > “不受控制的计算机”以找到正确的 IP,然后单击上方栏中的“请求控制” 。他们的计算机上会显示一个提示窗口,一旦获得所有权限,您就可以随时开始。

请求控制

如何在集中备份数据库上创建压缩备份

启动傲梅企业备份网络版并通过单击Tasks > New Task > SQL Server Backup 创建备份任务。按照提示窗口中的 3 个步骤进行操作。

SQL 服务器备份

“第一步”,点击“添加计算机”,找到您要执行任务的计算机。然后单击“确定”

添加计算机

Step 2,点击Add选择要备份的单个或多个实例和数据库。

选择数据库

Step 3,选择一个位置作为“目标路径”,可以点击"添加存储"添加一个Share或NAS Device作为存储端。

选择路径

单击“设置”,您可以启用“加密”并为此备份选择“压缩级别”。您可以选择无、正常或更高级别。压缩级别越高,备份越小。

设置压缩

然后您可以单击“开始备份”“创建和执行任务”。创建完成后,任务将单独显示在界面上。

开始备份

如何在集中式备份数据库上恢复压缩备份

点击上方栏的“任务”,找到备份任务,点击右上方的“高级”,在下拉选项卡中选择“恢复”

恢复

在提示窗口中,选择要恢复的“实例和数据库”

您还可以在右上角的选项卡上选择一个特定的完整/差异备份。然后单击“下一步”

选择特定备份

选择“恢复到原始位置”“恢复到新位置”。如果您稍后选择,您可以将备份还原到 LAN 内的另一个实例/服务器。

这些设置完成后,就可以“开始恢复了”

恢复到新位置

概括

在这篇文章中,我介绍了 3 种SQL erver数据库备份还原恢复压缩备份的方法,以及 3 种常见问题的修复方法。希望这可以帮助你。

但是如果你想要一个简单且无错误的方法备份和恢复 SQL Server 数据库压缩,或者您需要集中操作和管理局域网内多台计算机的备份,傲梅企业备份网络版可以是很好的解决方案。

除了SQL Server备份外,它还具有文件备份、系统备份、磁盘备份、分区备份、基本同步、实时同步、镜像同步等功能。它可以为您节省大量时间和成本。