圣罗伯特,MO,美国警察局维修大型MS SQL数据库使用Stellar工具包的MS SQL
圣罗伯特警察局是密苏里州圣罗伯特市的执法机构,负责通过提供安全可靠的城市环境来提高生活质量。
圣罗伯特警察局一直使用复杂的SQL Server数据库来满足各种需求,如向内政部提供警察业绩数据、记录保存、报告预订、访问报告和数据生命周期管理。
大约有30人在警察局一直使用这个SQL数据库,主要依赖于该系统来执行他们的日常职责。最近,有用户反映使用SQL Server报表系统的基于web的界面无法获取任何信息;这个问题在出现之前没有任何症状或先例。
系统管理员诊断数据库损坏是这个问题的原因;初步调查显示,该网页应用程序无法与后端数据库连接,这很可能是由于腐败。显然,由于突然断电,数据库进入了可疑模式,而数据中心备份系统也出现了故障。
根本原因分析
管理员检查了susect_pages上的SQL错误日志,发现数据库的事务日志文件已经损坏,这是与不稳定电源相关的常见问题。错误代码823表示在多个页面的event_type中列出了一个可疑页面;数据库中有相当数量的页面被标记为可疑的不良页面。
恢复的尝试
系统管理员试图从多个级别(从备份恢复开始)解决这个问题,认为从潜在数据丢失的风险最小。他依赖于SnapManager®(NetApp的SQL集成数据管理系统)进行备份;然而,事实证明,该工具最初并没有配置在服务器上,这让人感到意外。
接下来,他尝试使用T-SQL从数据库的“QA”实例中恢复。只有当生产数据库和测试数据库的版本和构建版本匹配时,使用这种方法才能成功恢复,不幸的是,这里的情况并非如此。因此,由于服务器版本不匹配,数据库恢复再次失败。
最后,管理员决定使用紧急状态处理可疑模式中的数据库。紧急状态将允许直接访问可疑数据库及其配置设置。它还允许导出数据库并运行DBCC CHECKDB命令来解决损坏问题。
他使用带有REPAIR_ALLOW_DATA_LOSS选项的DBCC CHECKDB命令来修复已经设置为单用户模式的数据库。运行此命令预计将重建损坏的事务日志文件,并将数据库恢复到“联机”状态。
然而,在重建事务日志文件并将数据库切换到多用户模式后,使用DBCC CHECKCONSTRAINTS检查数据关系时发现了几个异常。目标数据库中还存在事务一致性的丢失。由于损坏的数据库的大尺寸(~200GB), DBCC CHECKDB不能有效地修复数据库,现在没有更多的解决方案来解决这个问题。圣罗伯特警察局已经遭遇了数天的重大停机,存储了数gb关键信息的数据库可能会丢失。
业务需求
以下是主要的业务需求:
- 修复损坏的MS SQL数据库,恢复到原来的'干净'的状态,没有任何损失的数据库完整性;DBCC CHECKDB已经影响到数据库的完整性。
- 以最少的人工努力和时间,尽早恢复数据库访问;为了解决这个问题,客户已经损失了几百个人小时。
解决方案
现在评估第三方数据库修复软件或实用程序,系统管理员决定尝试Stellar工具包的MS SQL。这个软件工具包专门用于MS SQL数据库修复和恢复严重损坏的SQL Server和备份(如果可用)。
管理员下载了该软件的免费试用版,以确定其有效性。试用软件对数据库进行解析,并通过预览功能重建数据库中确认已重建到原始状态的所有元素。
现在确定数据库已经完全恢复了,管理员联系了Stellar的客户支持团队,以了解接下来的步骤。
他购买了许可密钥,然后激活软件,将恢复的数据库保存在本地磁盘上。整个SQL数据库修复和恢复过程在几个小时内就完成了,只需象征性的人工干预。警察部门在24小时内就能使用数据库系统。
关键好处
这对客户端来说是一个巨大的胜利,因为整个200gb损坏的数据库在尽可能短的时间内恢复到原来的状态,没有浪费努力或失去数据库完整性。
此外,获得了软件的终身许可,确保客户组织现在是100%安全的,在未来这种潜在的MS SQL数据库损坏情况。
下载