千家信息网

怎样恢复SQL SERVER 数据库文件

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章将为大家详细讲解有关怎样恢复SQL SERVER 数据库文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先意淫这篇文字,任务是要说SQL
千家信息网最后更新 2025年02月02日怎样恢复SQL SERVER 数据库文件

这篇文章将为大家详细讲解有关怎样恢复SQL SERVER 数据库文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

首先意淫这篇文字,任务是要说SQL SERVER 数据库要被消灭等等的就可以到此为止了。下面主要说的这两天,恢复SQL SERVER 数据库文件,拯救系统的始末.

前天下午,接到运维同学的电话,(估计之前已经有人报警说系统无法运行了),他告诉我我们的SQL SERVER 集群的主库正在被还原,问我有什么解决方法吗?

WHAT HOW ,是我脑子里闪出的东西,当然还有别的,STOP

冷静,我脑子里面里面开始运转,从脑子里面的数据库搜索各种方案和使用这样方案会造成的影响。

首先我确认的是

1 业务终止了

2 是否能终止整体数据库还原

3 终止后怎么让业务数据库上线

4 我能保证数据的一致性吗

5 我需要多长时间

6 情况还能多糟糕

可能说道这里,有观众已经想问,怎么会? OMG ,好好的怎么会数据库还原。

我倒是想奉劝,怎么就不可能,这世界上什么事情不会发生,没有什么好奇怪的,发生了,也别问怎么样,谁干的,诸如此类无聊的问题。他发生了,现在给我打电话就是要SAVE IT, 其他的我不关心。

问完我自己那些问题,脑子的数据库首先的第一条反映就是,不能让他继续还原,如果继续的话,我半点拯救数据库的机会都没有,OK 我们的SQL SERVER 是ALWAYS ON ,OMG ,三台机器,

有人问,HI 关机不就完啦,反正业务已经停止了,SHUT UP,那个数据库上还跑着其他的数据库,不光正在还原的这一个数据库,已经停止了关键业务,难道关了数据库服务器,让整个公司都沸腾吗?

1 decision ,不能关机,必须正常输出其他的服务,影响不能扩大化

又会有人说,你不关机,就让他继续还原数据库,NO NO NO ,幸亏我们的公司有ALWAYS ON (那些还让SQL SERVER (尤其主营业务)还不适用 ALWAYS ON 的 当然还有使用集群方式的(类似 ORACLE RAC))就等着哭吧,

2 我立即告诉运维人员,我要关闭一台SQL SERVER 从库,这里解释一下为什么再次提到 ORACLE RAC 和 SQL SERVER 类似的功能 SQL SERVER CLUSTER。 使用这样的方案,必须在发生这样问题的情形下,必死无疑,必死无疑,必死无疑,重要的事情说三遍。分布式数据库的优点,关闭一台机器,不影响业务,数据服务的继续输出。

关闭后,我在想,我不怕了,至少我留下了一台数据库服务器的数据,虽然分布式数据库上的数据也已经在还原的状态,但我保住了原始的数据,不再被损坏,我还有生还的机会。

我还应该在做点什么,下一步怎么办,停止那的备份软件的误操作,得到第三方的软件供应商的答复是NO。

OMG ,这就是花了钱后得到的服务,我明白为什么互联网公司什么都要自己开发,从不买什么备份软件,监控软件,系统保护软件之类的。因为如果是公司内部自己开发的,那绝对不会说出冷冰冰的 NO 。 而是大家继续想办法拯救需要拯救的东西。(后来事实证明,只有公司内部的团队是靠谱的,关键的东西其实还是自己研发比较好)

既然软件上说NO ,那就是不能停止还原的操作,怎么办,查看软件的线程,一直在连接SQL SERVER 进行数据还原,还是多线程的,停止时够呛了,因为他有强大的重试功能,估计还是使用的SA 之类的高级账号给他做连接数据库的账号,我已经不奢望什么了。

好吧,我的关注点,回到我保留下的那个关闭的服务器,又接到电话,说那个关闭的服务器,还要在开机,因为要尝试解散集群,尝试数据库停止恢复B PLAN。 OMG

在开机后,我再次决定停止SQL SERVER 的服务,不让马上连接的节点,被继续破坏,我开始拷贝节点的数据库的文件,(这里又有故事,缺少这个故事,估计也搞不定,BULABULA)。 拷贝完我的数据库文件到一个安全的地方,我打开了SQL SERVER 的服务,如同电影 奇幻PI旅行中最后老虎消失的一幕,我知道,这台机器的数据库也完蛋了。

不过我已经拷贝了数据库,下面面对我有时连续的奇葩问题

1 我光有数据文件,没有能让我使用的恢复数据库的服务器

2 这些文件已经部分还原,我拿到这些能还原多少文件

3 怎么恢复这些数据文件

以前学习过的 SQL SERVER PAGE 页的知识,浮现在脑子里面

SQL Server中的在页面顶部有一个96字节的头,它包括PageID、页面所属的结构类型、页面中的记录数量以及指向上一页和下一页的指针。所以有8096字节可用来存储记录。但是,数据记录的最大长度是8060字节,正如页面底部(最新的36字节)所示,它驻留的slot数组包含关于行的偏移量的信息(每行2字节)

马上问题又在脑子里面翻转

1 如果页头毁掉了,那就完蛋了

2 数据页面如果不连续了,很可能会有数据的缺失和损坏

3 如果有跨页的情况,那损坏也许更多

并且根据SQL SERVER 数据库文件的页面分配,9,0 1 2 3 首页面如果被毁,那简直就是死路一条。

怎么办,本来我想用以前用过的 APEXLOG ,来尝试重新读取文件,不过原理不对,那个软件是读取日志文件,来恢复数据的,而这次毁灭性的打击,根据 ALWAYS ON 的原理,很可能日志是最先被毁灭的文件。并且我如果想恢复,至少我的先让这些数据文件再次挂在在数据库服务器上,才能使用 APEXLOG ,不幸的是,这些条件都不具备。

尝试挂载数据文件,报告,MASTER FILE 32:32 损坏,无法挂载数据库。好吧我早就该想到这一点,被覆盖,还强行关机,挂不上那是应该的,挂上那是上帝显灵了。

那也不能坐以待毙,我尝试寻找其他方法,那不具备那些条件的情况下,我可以通过读取数据文件的方式恢复数据,根据文件的物理特性,其实可以通过SQL SERVER DBCC的方式直接读取数据页,并且恢复数据,但前提是数据库的联机,现在这个问题是数据库不能联机,并且联机的也是那个正在还原停不了的数据库,并且也不能拿现在的数据库冒险。 更糟糕的我想把数据拷贝到 UAT 或者 测试库的想法 也都落空,倒霉催的网络带宽,倒霉催的网络带宽,倒霉催的网络带宽。

SQL SERVER 本身能读取数据PAGE,其实按原理上个来说,只要有读取这个PAGE的软件就可以,尝试找找,还真有类似的软件,那试试吧,装上软件,开始对我拷贝的数据文件,进行SEARCH,上线,我看到久违的数据,好像初恋一样的感觉。好吧后面就是,恢复数据,BULABULA。

此外,开发团队在得到 AUDIT LOG 后,想尝试另一种恢复的方法,也可歌可泣,绝对应该载入公司的史册,并且我也从这次开发的努力中看到了不放弃,并且我们也得到一些在此类问题上的经验,绝对是有益的。

总结:

1 首先感谢开发者软件的公司,并且有破解这个软件的人,再次感谢

2 如果让我做数据库部署的抉择,1 不会使用ORACLE RAC 或类似的功能,因为越复杂的东西,遭遇不测恢复很难,如果是ORACLRE 估计也很难有公司能得到技术内幕并开发此类软件。换做是MYSQL 估计连第三方软件都不用,很快就能将这样的问题解决(前提的做些工作)

运维的同学虽然不在一个部门,不过我想他们积极的找解决问题的出路的努力应该被肯定.

身处这样的公司,出了问题大家一起努力解决,而不是冷冰冰的指责(某些公司体会过,放心这样的事情放在那些公司,我只有三个字 OMG ),虽然出了问题,但我们解决了,这很了不起。这也让我想起到底是职责划清好,还是大家"大锅饭"好,都有优点,和缺点,不过这次,彻底让我感觉到 "大锅饭"的好处。 记得4年前在某公司,也是这样的问题,而处境,各个部门事不关己高高挂起的嘴脸,真让我厌恶,并且还落井下石。

3 分布式数据库,(是分布式不是数据分片,那将毫无帮助),对此类问题是有帮助。

4 冷静,冷静,冷静,和信心

5 经验值和一些发现的问题(就让他们在我脑子里面吧)

关于怎样恢复SQL SERVER 数据库文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

数据 数据库 文件 软件 问题 公司 服务 脑子 尝试 业务 就是 服务器 页面 开发 字节 拷贝 东西 再次 分布式 还是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 嘉定区网络安全来电咨询 网络安全最薄弱 数据库设计城市道路交通系统 地下城与勇士数据库设计 如何使用中外文数据库 罗氏电脑网络技术有限公司 windows 10服务器版 网络安全手抄报一等奖很简单 上海移动软件开发价格 怎么把网页转到另一个服务器 香港云轻应用服务器 数据库连接池的实现原理 软件开发专业职校收费 为什么游戏服务器比网通多 网络安全攻防演练主持 网络安全铅笔手抄报 云收易网络技术有限公司电话 数据库repeat语句格式 新一代网络安全产业应该怎么做 河北质量网络技术咨询常见问题 网络安全调查结果分析 php断开数据库连接 中学生网络安全教学反思 数据库脱机很久 保护网络安全的小报 服务器风扇控制电路 违反网络安全法四十六条规定 计算机软件开发计划模板 手机设置服务器地址有什么用 U8管理软件服务器启动
0