文件修复

如何一步步修复SQL Server 2016

简介:本文是修复SQL Server 2016数据库的分步指南。它讨论了需要执行SQL数据库修复的不同类型的实例。此外,本文还解释了手动或在专业修复工具的帮助下逐步修复数据库的说明。

免费下载
免费下载

在以下情况下,可能需要执行SQL数据库修复操作:

  • 修复标记为可疑或卡在恢复挂起状态的数据库,使您无法访问数据库文件。
  • 修复由于服务器崩溃、I/O子系统故障、软件错误、病毒/恶意软件入侵等事件而损坏的数据库。
  • 如果您收到诸如824、8992、5172等SQL错误。
  • 如果您有损坏的日志文件,导致数据库无法访问。

还读:SQL Server生产数据库损坏-原因和修复

通常,任何数据库管理员或SQL用户都有备份和恢复策略。但是,你可以恢复SQL数据库仅当备份运行正常时才从备份中获取。此外,您必须恢复到最近的备份,以避免数据丢失。但是,如果备份中存在任何损坏或未更新,则需要修复它。

现在,让我们一步一步详细讨论如何修复SQL Server 2016数据库。

一步步修复SQL Server数据库

通过SSMS修复SQL数据库的步骤

你可以使用DBCC CHECKDB修复数据库使用' REPAIR_ALLOW_DATA_LOSS '命令在SQL Server Management Studio (SSMS)中执行以下步骤:

步骤1:地对地导弹发射。使用Windows身份验证或SQL Server身份验证连接SQL Server 2016实例。

步骤2:从工具栏单击New Query选项卡。在打开的查询窗口中,按如下顺序复制粘贴如下命令:


EXEC sp_resetstatus [DB_Name]

设置数据库的紧急状态

DBCC CHECKDB

设置SINGLE_USER为立即回滚

检查DBCC数据库(' DB_Name ', REPAIR_ALLOW_DATA_LOSS)与no_infosgs

ALTER DATABASE[数据库名]SET MULTI_USER


注意:执行REPAIR_ALLOW_DATA_LOSS命令会导致数据丢失。如果DBCC CHECKDB不工作或防止数据丢失,使用SQL修复工具可能会有所帮助。

步骤3:撞到“执行”按钮,开始修复数据库。

数据库将得到修复,并将打开没有任何错误。

步骤修复SQL数据库使用恒星修复MS SQL

一个先进的SQL修复工具mvp和dba推荐的恒星修复MS SQL帮助修复严重损坏的数据库文件(MDF/NDF)在几个简单的步骤。此外,它还有助于恢复所有数据库对象以及删除的记录。

如何使用SQL恢复软件修复SQL Server 2016数据库

步骤1:启动软件。阅读软件主界面提示后,单击好吧

步骤2:“选择数据库”屏幕上,浏览然后选择要修复的数据库主文件(.mdf)。或者,单击搜索如果MDF文件的位置未知,则查找该文件。

注意:如果您希望恢复已删除的记录,请确保“包括已删除的记录”复选框被选中。

选择SQL数据库文件

步骤3:选择MDF文件后,单击修复开始修复过程。

修复损坏的SQL数据库文件

步骤4:选择合适的扫描方式修复MDF文件。选择标准的扫描选项快速扫描文件以查找损坏错误。要彻底扫描文件,您可以选择先进的扫描。点击好吧继续。

选择扫描模式

步骤5:单击好吧按钮一次。修复完成的弹出消息框。

修复完成

步骤6:预览所有修复的文件数据。然后,单击要保存的所有或特定对象保存按钮下文件

预览修复SQL数据库文件

第七步:该软件提供不同的选项来保存修复后的数据库:

  • 选择保存修复后文件的文件格式(MDF/CSV/HTML/XLS)。
  • 在选择MDF文件保存格式时,您可以选择将数据库保存为New或Live db。此外,输入连接到SQL Server实例的详细信息。
  • 指定要保存修复db的位置。
文件保存选项

第八步:点击保存。成功完成文件保存过程后,将出现以下屏幕。

保存完整的

修复后的数据库将以相同的名称保存,但在指定位置带有“已修复”前缀。

结论

在本文中,我们讨论了可能需要修复SQL数据库的常见实例。在尝试运行修复操作之前,必须首先尝试还原已更新的备份。但是,如果备份已损坏或过时,请执行本文中讨论的步骤来解决问题。您可以使用推荐的修复选项(通常是REPAIR_ALLOW_DATA_LOSS)运行DBCC CHECKDB来执行修复过程。然而,它涉及数据丢失的风险。作为替代方案,使用Stellar Repair for MS SQL来修复可能阻止您访问数据库的常见损坏错误。

常见问题

Q。我的数据库日志文件已损坏,使数据库无法使用。我需要重建数据库。为此,我执行了以下命令:

alter database DB1 SET single_user with immediate rollback

随后,我运行了以下命令:

使用主

dbcc checkdb (DB1, REPAIR_ALLOW_DATA_LOSS)

执行这个查询给了我一个错误消息:

924号电话,第1州14层,2号线。数据库'DB1'已经打开,并且一次只能有一个用户

经过研究,我发现需要先在EMERGENCY模式下建立数据库,然后在SINGLE_USER模式下建立数据库。接下来我该做什么?

一个。尝试将数据库恢复到MULTI_USER模式,然后运行以下命令:

alter database DB1 SET single_user with rollback immediate

dbcc checkdb (DB1, REPAIR_ALLOW_DATA_LOSS)

在您尝试连接数据库之前,可能有其他进程正在使用该数据库连接。同时运行上述命令可以帮助您获得这种连接。

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

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

为什么选择Stellar?
  • 0+

    客户

  • 0+

    工作经验

  • 0+

    研发工程师

  • 0+

    国家

  • 0+

    合作伙伴

  • 0+

    所获奖项

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