从SQL Server数据库备份还原的简单方法
您可能会创建压缩备份以节省磁盘空间并提高效率,但您能否无误地恢复它们?本文介绍了如何准确还原 ZIP/RAR/BAK 文件,并针对您可能遇到的问题提供了 3 个修复方法。
自 SQL Server 2008 及更高版本启用备份压缩,基本上有 2 个选项可以选择创建 SQL 数据库的压缩备份
SQL Server 中的备份压缩(2008 及更高版本):您将获得 BAK 文件,它们可以由 SQL Server 直接还原。
“其他压缩软件”:您将获得 ZIP、RAR 和许多其他格式的压缩文件。它们不能直接恢复。
那么,如何在SQL Server中恢复压缩备份呢?在这里我总结了3种恢复单个数据库的方法。
正如我之前提到的,SQL 数据库不能直接从 ZIP/RAR 文件中恢复,因此您需要先将它们解压缩到 BAK 文件中,其余操作都是一样的。
双击 ZIP/RAR 文件将它们解压缩为 BAK 文件。
由于包含压缩数据的BAK文件可以直接在SQL Server中恢复,所以操作与往常一样。在这里我总结了 3 种常用的方法来做到这一点。
在 SQL Server 中,您可以从 bak 文件恢复数据库使用 SSMS GUI。这也是最直观的方式。
1. 启动SQL Server Management Studio (SSMS)并连接到您的实例,右键单击 “数据库”并选择 还原数据库...
2. 在提示窗口的通用页面中,在源部分选择设备,然后单击空白旁边的...按钮。
单击“添加”找到您要恢复的 BAK 文件。其余信息将自动填写。
3.然后您可以单击“确定”开始。
1. 启动SSMS并连接到您的实例,单击上方栏上的“新建查询”。输入以下命令:
RESTORE DATABASE databasename FROM DISK = '“文件路径”'
注意:如果你想覆盖现有的数据库,你可以在'filepath'之后添加WITH REPLACE。但要小心,这可能会导致数据丢失。
2. 然后你可以点击上方栏的“执行”开始恢复。
1. 使用Win+R键盘快捷键打开windows 中的“运行,输入”CMD并单击“确定”。
2. 在命令提示符窗口中输入以下命令:
sqlcmd -E -S instancename -Q “RESTORE DATABASE databasename FROM DISK=' filepath' ”
注意:
“-E”:指的是使用可信连接连接到数据库,而不使用用户名和密码。
“-S” : 指的是SQL Server要连接的实例的名称。
“-Q”:指在启动SqlCmd命令时执行查询,然后立即退出。
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 个步骤进行操作。
“第一步”,点击“添加计算机”,找到您要执行任务的计算机。然后单击“确定”。
Step 2,点击Add选择要备份的单个或多个实例和数据库。
Step 3,选择一个位置作为“目标路径”,可以点击"添加存储"添加一个Share或NAS Device作为存储端。
单击“设置”,您可以启用“加密”并为此备份选择“压缩级别”。您可以选择无、正常或更高级别。压缩级别越高,备份越小。
然后您可以单击“开始备份”来“创建和执行任务”。创建完成后,任务将单独显示在界面上。
点击上方栏的“任务”,找到备份任务,点击右上方的“高级”,在下拉选项卡中选择“恢复”。
在提示窗口中,选择要恢复的“实例和数据库”。
您还可以在右上角的选项卡上选择一个特定的完整/差异备份。然后单击“下一步”。
选择“恢复到原始位置”或“恢复到新位置”。如果您稍后选择,您可以将备份还原到 LAN 内的另一个实例/服务器。
这些设置完成后,就可以“开始恢复了”。
在这篇文章中,我介绍了 3 种SQL erver数据库备份还原恢复压缩备份的方法,以及 3 种常见问题的修复方法。希望这可以帮助你。
但是如果你想要一个简单且无错误的方法备份和恢复 SQL Server 数据库压缩,或者您需要集中操作和管理局域网内多台计算机的备份,傲梅企业备份网络版可以是很好的解决方案。
除了SQL Server备份外,它还具有文件备份、系统备份、磁盘备份、分区备份、基本同步、实时同步、镜像同步等功能。它可以为您节省大量时间和成本。