Tianjin Hongmeng Science and Trade Development Co. Ltd. is an authorized agent for many international mainstream data forensics, data recovery, data backup and synchronization software: Miray (HDClone/HDShredder), Killdisk, Passware, PassMark, ElcomSoft, R-Studio, Systools, GetData, Stellar, ReclaiMe, UFS Explorer, VNR, SyncBack Pro,Viceversa Pro,等。
SQL数据库文件(MDF/NDF)可能会损坏有几个原因。完整性问题,停电,突然或不适当的系统关闭,恶意软件攻击,网络故障等都可能导致SQL数据库的损坏。从任何损坏的数据库中恢复数据的最简单方法是从备份(.bak)文件中恢复数据。
甚至备份文件有时也会损坏,并且可以使用第三方工具采取进一步的措施。
使用 BAK 文件,从损坏的 SQL Server 数据库恢复数据
此方法可以通过备份文件从损坏的数据库中恢复数据。
1。使用SQL Server Management Studio(SSM)
Microsoft SSM提供了一个可以使用多个SQL功能的用户友好的GUI。您可以从备份文件还原SQL数据库。
启动SSM。连接到保存数据库的SQL Server实例。在对象资源管理器中,右键单击数据库。单击还原数据库。在“还原数据库”窗口中,单击“常规”页面(默认打开)。在源区域,您可以选择两个选项之一。您可以从下拉列表中选择要还原的数据库。另外,您可以选择设备选项,并单击三个点(.)来查找备份文件。由于此时需要从备份文件还原数据库,因此您需要使用设备选项。单击此选项中的省略号(.),然后将弹出“选择备份设备”选项。在备份媒体类型旁边的下拉列表中,选择文件,然后单击“添加”。查找要从备份文件夹还原的备份文件(.bak)。选择备份文件(.bak),然后单击“确定”。您可以在数据库字段中看到要还原的数据库的名称。选定的备份文件将显示在备份集中以还原部分。在还原数据库窗口的左面板中,单击选项。在还原选项下,选择选项“覆盖现有数据库(替换)”。这将覆盖现有的数据库。为了避免覆盖,请创建一个新的数据库,然后将物理文件移至新目标。在恢复状态旁边的下拉列表中,选择带有恢复的还原以查看消息“使数据库可通过回滚未承诺的交易可用。无法恢复其他事务日志”。如果执行完整还原后进行差分或日志还原,请使用Norecovery选择还原。单击“确定”按钮以成功恢复数据库。单击确定以完成过程。 2。使用T-SQL恢复数据库
还可以使用T-SQL技术进行恢复。以下是如何借助T-SQL命令从.bak文件还原数据库的方法。
打开SSM并连接到SQL Server实例。从顶部的工具栏中,单击“新查询”。在生成的查询编辑器窗口中,运行下面显示的Restore命令,以从备份文件还原完整的数据库。使用[MASTER]备份数据库[测试]从disk=N\’C: \\ Program Files \\ Microsoft SQL Server \\ MSSQL16.SQLEXPRESS \\ MSSQL \\ MSSQL \\ MSSQL \\ backup \\ sql_tst_db.bak\’with file=1,nound nounnoun=1,使用Windows PowerShell命令还原数据库
以下是Restore SQL数据库命令,使用备份文件在PowerShell中执行此任务。
还原sqldatabase -serverinstance [server -instance] -database [database -name] -backupfile [backup -file] -replacedatabase此命令支持SQL中的各种回溯恢复,包括交易日志还原,数据库文件还原和完成数据库恢复。
如何从损坏的备份文件中恢复数据?
数据库可能会损坏,并且由于各种因素,备份文件也可能损坏或损坏。原因包括RAM,硬盘,CPU或网络问题。恶意软件入侵或突然的停电也可能导致备份文件被损坏,与数据库损坏相同。您可以在SQL Server Management Studio中使用T-SQL命令来恢复损坏的备份文件。
首先,您需要验证备份的当前状态。使用Restore命令使用VerifyOnly选项可能会有所帮助:
声明@backuppath nvarchar(255)=\’f: \\ backups \\ testdb.bak\’;从disk=@backuppath恢复验证;这将验证备份是否正常或损坏。如果文件损坏,最好使用其他备份文件来还原数据库。如果备份备份已过时或根本没有,则必须对损坏的数据库进行恢复和维修。
从disk=\’C: \\ backups \\ testdb.bak\’还原数据库testDB,并使用维修;
恢复备份文件——需要考虑的事项
在还原备份文件之前,请务必知道我们不能将新版本的SQL Server中创建的.bak文件还原为先前版本。如果必须执行此操作,则需要安装类似版本,然后继续还原备份文件。
以下是在还原备份文件之前要注意的一些要点:
确保关闭所有活动连接,以避免如前所述的还原过程失败,您无法还原在新的SQL Server版本上创建的备份到旧版本。出于安全原因,应创建主动交易日志文件的备份管理元数据,以确保在还原过程中使用另一个服务器上的数据库可用性
手动还原备份文件的替代方案
如果您不想遇到技术麻烦,则解决此问题的相对简单方法是使用第三方工具从损坏的数据库或备份文件中有效地恢复数据。
为什么要备份 SQL Server 数据库?
引入了从损坏的数据库或损坏的备份文件中恢复数据的先前方法。接下来,我们需要了解频繁备份数据库的重要性。由于大量故障而导致数据丢失至关重要。该策略应包括:
定期备份数据库。运行还原过程以测试备份的当前状态。将备份文件存储在安全的位置中,以避免灾难性数据丢失。有效,最新且备份良好的备份可以恢复多个故障的数据,例如:
用户诱导的错误,例如错误删除表。媒体失败。硬件故障,例如永久服务器故障或磁盘驱动损坏。自然灾害。创建数据库备份对于执行日常管理任务同样重要,例如:
数据库镜像和存档。始终设置可用性组。
数据库备份的类型
了解不同类型的备份使执行还原任务变得更加容易。
差速器备份
它依赖于完整或部分数据库的最新完整备份。它还包括一组文件组(差异基准)或包含自最近完整数据库备份以来已修改数据的数据文件的备份。
完成备份
此备份类型包括特定数据库,文件或文件组中的所有数据。它还包含足够的日志以允许数据恢复。
日志备份
它代表了事务日志的备份,该备份由所有日志文件备份中未创建的所有日志记录组成。日志备份文件应包括.trn扩展名。
结论
SQL Server的正常操作对于企业的平稳操作至关重要。但是,数据库或备份文件中的任何类型的损坏都可以阻止整个工作。这可能导致业务声誉丧失,经济损失和其他一些威胁性后果。为了摆脱这些麻烦,不可避免地会及时从损坏的数据库中恢复数据。
实现此目的的最常见方法之一是从高效,健康且最近创建的备份文件中恢复数据库。可以通过用户友好的SQL Server Management Studio(SSMS)GUI,SMS中的T-SQL命令或运行PowerShell命令来执行此数据库还原任务。
用户评论
嗯咯
最近公司服务器出现故障,数据库也没办法访问了!幸好看この記事学到了SQL Server数据库恢复的方法,赶紧操作了一把,还能将备份文件用起来拯救数据。简直太棒了!
有18位网友表示赞同!
心脏偷懒
这篇文章讲得很详细,每个步骤都说得清楚明白,即使是新手也能理解。感觉学习完后可以自己独立处理一些简单的数据库恢复问题了。
有18位网友表示赞同!
若他只爱我。
说真的,遇到数据库受损的时候心真的好慌。还好找到了这篇文章,里面说的方法很有用!备份和恢复的过程虽然复杂,好在按照作者的步骤走,最终还是成功了!
有12位网友表示赞同!
终究会走-
以前从来没接触过SQL Server数据库恢复,看了这篇文章才了解到原来还有这么复杂的步骤。希望以后能好好学习一下,以免遇到类似的情况时手忙脚乱。
有7位网友表示赞同!
江山策
备份文件是必不可少的啊,文章强调这个问题很重要,建议大家定期的进行备份,避免数据丢失!
有6位网友表示赞同!
怅惘
这篇文章重点介绍了两种恢复方式,各有优缺点。读完后感觉还是得根据实际情况选择合适的恢复方法才能更有效!
有11位网友表示赞同!
﹎℡默默的爱
虽然步骤比较详细,但是看在实战中遇到的具体问题却无法得到解决,希望文章能结合更多实用的例子来讲解!
有18位网友表示赞同!
打个酱油卖个萌
备份文件格式繁多,这篇文章只是简单介绍了部分常用的格式。希望能提供更具体的说明和例子,方便我们更好地理解和操作。
有17位网友表示赞同!
南宫沐风
遇到数据库恢复问题确实是很头疼的事,还好这篇文章提供了比较明确的步骤指南,让我更容易应对类似的情形!
有7位网友表示赞同!
堕落爱人!
这个SQL Server数据库恢复方法真的很有用,以前总是依赖于IT部门的处理,现在学会了这些方法可以解决很多小问题。
有9位网友表示赞同!
不离我
对于新手来说,这篇文章提供的步骤可能还是过于专业了,希望能提供一些更基础的知识讲解。
有18位网友表示赞同!
岁岁年年
数据库恢复是一个比较复杂的过程,还需要考虑很多细节,希望作者能提供更多的注意事项和优化方案。
有8位网友表示赞同!
龙吟凤
写的很好理解,图文并茂,非常适合像我这样新手学习SQL Server数据库恢复的方法!
有7位网友表示赞同!
昂贵的背影
这篇文章介绍的恢复方法适用于各种类型的数据库受损情况吗?希望作者能明确说明适用范围!
有19位网友表示赞同!
浮殇年华
其实数据库恢复不仅需要备份文件,还需要做好数据完整性校验和日志管理等。这篇文章侧重了备份文件的处理,对于其他方面缺少讲解。
有17位网友表示赞同!
病房
这个方法看起来很复杂,不知道实际操作起来是否真的那么简单?能否提供一些视频教程或者案例演示?
有14位网友表示赞同!
心贝
文章内容太理论化了,希望能结合一些实际案例来讲解,更容易理解和记忆!希望作者能更新一些实战案例分享!
有17位网友表示赞同!
疲倦了
这篇文章的内容对我很有帮助!以后遇到类似的数据库恢复问题,就可以参考一下这篇博客了 。
有11位网友表示赞同!
煮酒
这个方法对于经常需要进行数据库维护的用户来说,非常实用! 值得收藏和学习!
有16位网友表示赞同!