如何修复 SQL Server 数据库中的恢复挂起状态?

news2025/5/23 19:08:16

当我们想与关系数据库交互时,SQL 就会出现并帮助用户与数据库进行交互。SQL 从高级语言中获取用户的输入,然后访问将代码转换为机器可理解的形式。SQL 确实会恢复数据库文件,但有时 SQL 服务器恢复暂挂阶段会进入帐户,这会停止恢复过程并将关系数据库置于恢复暂挂状态。在本文中,将向你提供各种方法来修复 SQL Server 数据库中的恢复挂起状态。

将 SQL 数据库置于恢复模式的原因

SQL 服务器恢复挂起可能是因为在解析数据库中的某些事务期间系统关闭不当。

当你的硬盘或 RAM 中没有足够的空间时,有时运行各种查询会导致 SQL 数据库恢复挂起状态。各种用户移动他们的日志文件,以便可以增加系统的吞吐量,但在传输 SQL 文件时,他们的数据被损坏,这迫使数据库处于恢复挂起状态。

SQL Server 数据库中的各个阶段 

SQL Server 数据库中存在三个管理阶段,它们根据损坏的严重程度进行划分。 

在线阶段- 如果用户在 SQL 数据库服务器上工作时正在执行查询并且一个数据库文件在此过程之间损坏,则数据库保持在线并且仍然可以在线访问。这个阶段被称为在线阶段。

可疑阶段- 在 SQL 应用程序启动时,如果服务器无法恢复数据库,则 SQL 将数据库标记为可疑。

恢复挂起阶段- 此阶段发生在 SQL Server 知道必须运行数据库恢复但有什么阻止它启动时。在这种情况下,SQL Server 会将 DB 标记为“Recovery Pending”状态。

你可以通过在 SQL 数据库上运行以下命令来自行检查处于恢复挂起状态的数据库。

从 sys.databases SELECT name, state_desc 并写 GO 并按回车查看 SQL 数据库恢复挂起状态为;

可以看出结果中位置6的Demo是一个​RECOVERY PENDING STATE的数据库。

现在让我们研究一下恢复 SQL server 恢复挂起阶段的方法。

SQL Server 数据库中的手动恢复挂起状态

在恢复模式下解决 SQL 数据库问题的手动方法是通过两个步骤完成的。在我们研究这些步骤之前,我建议复制一份你的 SQL 数据库,这样如果你无法解析这些步骤,那么你的数据就不会受到损坏。

第 1 步

在紧急模式下勾选 SQL 并强制修复它。使用 Alter DB 和 CHECKDB 命令删除 MS SQL 恢复挂起状态,如下所示:

SQL 通过将 SQL 服务器从紧急阶段中解放出来来帮助他们的用户,但如果上述命令不能帮助你解决问题,那么,

使用以下命令将数据库置于紧急模式,

ALTER DATABASE mydatabase SET EMERGENCY​。使用此命令后,紧急标记将放置在文件后面。

现在,你必须通过应用以下查询将 SQL 数据库从紧急模式设置回正常模式,

ALTER DATABASE mydatabase SET ONLINE​。

第 2 步

将数据库设置为紧急模式并分离并重新连接主数据库

要执行此步骤以克服 ​SQL server recovery Pending ​状态,你需要执行与步骤 1 中所做的相同的步骤,将数据库置于紧急状态。此用户需要通过运行查询使 MS SQL 脱机,然后再次联机,以克服 MS SQL 恢复挂起状态。

ALTER [DBName] SET EMERGENCY;

ALTER DATABASE [DBName] set multi_user

EXEC sp_detach_db '[DBName]'

EXEC sp_attach_single_file_db @DBName = '[DBName]', @physname = N'[mdf path]'  

使用第二步,用户将能够创建一个新的日志文件,损坏的文件会自动从数据库中删除。让我们看看你在使用第 1 步和第 2 步消除 SQL 服务器恢复挂起问题时将遇到的问题。

手动方法限制
  • 在修复 SQL Server 数据库中的恢复挂起状态时,数据库损坏程度可能很高。
  • 如果你不熟练或来自技术领域,你将无法很好地运行这些命令,从而导致 SQL 数据库文件混乱。
  • 手动将 SQL 服务器联机或脱机可能会使你的应用程序完全损坏,因此关系数据库会受到很大的挫折,从而导致整个安装应用程序崩溃。

现在让我们转向另一种控制 SQL 服务器数据库恢复挂起问题的方法。

SQL Server 数据库中的专业恢复挂起状态 

克服 SQL 服务器恢复挂起问题的专业方法比手动方法更好。在这方面,我们使用SQL 数据库恢复工具来修复和恢复 SQL 数据库的损坏文件,并帮助你修复 SQL 服务器数据库中的恢复挂起状态。此工具支持 MDF 和 NDF 文件。使用此实用程序可以恢复你的数据库表、触发器、记录、函数和存储过程。 

牢记数据的重要性,此实用程序强制执行两种标准和高级恢复模式。在使用 SQL 数据库恢复工具进行修复后,用户还可以将文件从一台 SQL 服务器保存到另一台。这个工具欢迎所有版本的windows。使用此软件时也可以考虑架构和快照。 

使用 SQL 数据库恢复工具后,您不会在修复 SQL Server 数据库恢复挂起状态时遇到任何问题。

总结

为了解决 SQL 服务器恢复挂起状态,我描述了导致系统处于恢复挂起状态的 SQL 数据库文件损坏和损坏的各种原因。在此之后介绍了纠正阶段手动方式,它分为 2 个部分。但是由于用户在执行手动查询时遇到的问题,自动 SQL 数据库恢复工具进入了帐户。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1356051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

海外数据中心代理与住宅代理:优缺点全面对比

数据中心代理和住宅代理是为了匿名而开发的,通过替换网站眼中您自己的 IP 地址。然而,它们在价格、功能、性能或最佳用例方面存在一些差异。那么,这些代理类型到底有什么相似点和不同点呢? 一、什么是数据中心代理? 1…

Hive用户自定义函数之UDF开发

在进行大数据分析或者开发的时候,难免用到Hive进行数据查询分析,Hive内置很多函数,但是会有一部分需求需要自己开发,这个时候就需要自定义函数了,Hive的自定义函数开发非常方便,今天首先讲一下UDF的入门开发…

人工智能大模型:定义、发展和应用

⭐简单说两句⭐ ✨ 正在努力的小新~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &…

【基础python】条件语句 | 循环

条件语句 if elif else python中和绝大数语言类似,具有能够判断语句顺序的语法 if elif else 分别对应C的 if else if else if 条件为真进入语句 ,反之则不进入 如果if 为假,存在else 则会进入else 如果if 为假 ,存在…

数据库分区分表

分区分表 为什么要分库分表 软件时代,传统应用都有这样一个特点:访问量、数据量都比较小,单库单表都完全可以支撑整个业务。随着互联网的发展和用户规模的迅速扩大,对系统的要求也越来越高。因此传统的MySQL单库单表架构的性能问…

探索 Vue 实例方法的魅力:提升 Vue 开发技能(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Spring的bean的生命周期!!!

一.单例模式 单例:[启动容器]--->通过构造方法(创建对象)---->调用set方法(注入)--->调用init方法(初始化)----[容器关闭]----->调用destroy方法(销毁) app…

教你用python画图—Turtle详细教程

Turtle模块绝对是吸引非专业代码开发者人员学习python入门的好工具 通过turtle几行代码的执行软件就会画出漂亮的图形,美观而且有成就感,这样一下子对python编程就产生了兴趣。 这些漂亮的图形如三角形、五角星、机器猫等。在写代码的时候改变几个参数…

反距离加权水平内插,附matlab代码(ERA5和GNSS站点不并址的处理方法之水平补偿)

1.内插方法 我在学习过程,内插方法为反距离加权水平内插,分享我的方法和公式,以及matlab代码。 2.使用该内插法的原因 GNSS与ERA5格网位置不并址,需要进行水平方向和垂直方向的补偿的补偿获得。水平方向不并址如第3节图所示&am…

数字人私人定制

数字人是什么? 在回答这个问题之前,我们先回答另一个问题,人如何与人工智能交流?目前可以通过文字、语音、电脑屏幕、手机屏幕、平板、虚拟现实设备等和人工智能交流,为了得到更好的交流体验,人工智能必然…

css sourcemap 源代码映射

vue.config.js css: {// Enable CSS source maps.sourceMap: process.env.NODE_ENV ! production, }重新运行:yarn serve 效果:

three.js Raycaster(鼠标点击选中模型)

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div><div class"box-right"…

LiveGBS流媒体平台GB/T28181功能-国标级联对接海康大华宇视华为等上级平台选择通道支持只看已选只看未选

LiveGBS功能国标级联对接海康大华宇视华为等上级平台选择通道支持只看已选只看未选 1、国标级联2、只看已选3、只看未选4、搭建GB28181视频直播平台 1、国标级联 LiveGBS可以作为下级平台&#xff0c;级联到第三方国标平台&#xff0c;详见&#xff1a; LiveGBS国标GB/T28181流…

dctcp 可扩展、低时延图解

理想 reno 和理想 dctcp 的单流 cwnd-time 演化图如下&#xff1a; 很直观地展现出 dctcp 锯齿小很多&#xff0c;锯齿小意味着高效。 dctcp 利用交换机反馈而来的 ecn 可精确计算导致排队超过 k 的报文比例&#xff0c;减去这一比例的 inflight 就是合适的。但 dctcp 在 re…

快速跳闸中间继电器 RXMS1-RK216 066-AD 24V 柜内安装,板后接线带中座

系列型号 RXMS1 RK 216 437快速跳闸继电器&#xff1b;RXMS1 RK 216 237快速跳闸继电器&#xff1b; RXMS1 RK 216 449快速跳闸继电器&#xff1b;RXMS1 RK 216 249快速跳闸继电器&#xff1b; RXMS1 RK 216 450快速跳闸继电器&#xff1b;RXMS1 RK 216 250快速跳闸继电器&…

5.云原生之DevOps和CICD

文章目录 怎么理解DevOps&#xff1f;所需环境介绍创建devops java项目DockerFile文件Jenkinsfiledevops.yaml文件 搭建 DevOps 项目创建凭证创建devops项目创建流水线编写流线文件运行流线 为流水线设置电子邮箱服务器设置QQ邮箱 SMTP服务器配置jenkins邮箱服务器 使用Webhook…

【C语言数组传参】规则详解

目录 数组传参介绍 数组传参规则 数组传参的实参 特殊情况一&#xff1a;sizeof&#xff08;数组名&#xff09; 特殊情况二&#xff1a;&数组名 数组传参的形参 数组传参使用数组名作为形参接收 形参如果是⼀维数组 形参如果是⼆维数组 数组传参使用指针作为形参…

嵌入式实战(一)| GPIO实验 跑马灯效果实现 寄存器及其代码全解析

文章目录 1 GPIO编程用到的寄存器介绍1.1 PxSEL寄存器1.2 PxDIR寄存器1.3 PxINP寄存器 2 按键消抖2.1 软件消抖 3 经典任务代码解析 硬件图如下 实际上他们在端口命名的时候进行了分组 如上所示&#xff0c;P和点号之间的我认为他就是代表一个组&#xff0c;用某个寄存器控制&…

当hashCode相同时,equals是否也相同?

目录 hashCode方法 equals方法 String类的hashCode和equals 用String为例 当hashCode相同时 总结 在Java中&#xff0c;理解对象的这两个基本方法—hashCode和equals对于编码是至关重要的&#xff0c;尤其是在处理集合类如HashMap和HashSet时。然而&#xff0c;一个常见的…

CV必备的15个多尺度模型分享,涵盖特征融合、多尺度预测等4种网络结构

在卷积神经网络中&#xff0c;感受野的大小会影响到模型能够捕捉到的特征的尺度&#xff0c;从而影响模型的性能。因此我们在设计网络时&#xff0c;需要合理地控制感受野的大小。 那么问题来了&#xff1a;怎样才能合理控制&#xff1f; 到目前为止&#xff0c;已有很多学者…