当SQL Server数据库配置为RAID时,如果RAID盘出现故障,可能会导致数据损坏,并导致数据库无法访问。在这种情况下,您必须更换故障的驱动器并尝试重建RAID阵列,并从备份中恢复数据库。
谨慎!重建RAID可能会导致数据丢失。如果您用丢失的驱动器、不同的配置、不同的条带大小等重建RAID,可能会发生这种情况。因此,请确保在RAID重建之前采取预防措施,以防止任何数据丢失。这包括在重建之前对RAID中的每个驱动器进行映像,将备份恢复到另一个卷,避免删除任何额外的文件等。
如果重建过程失败,但是您能够从失败的RAID中恢复数据文件(MDF和NDF),那么您可以尝试重新附加数据文件。
RAID失效后SQL数据库的恢复方法
这里有一些有效的方法,可以帮助您在RAID失败后恢复SQL数据库和恢复数据。
方法1 -从备份中恢复SQL数据库
尝试将SQL数据库备份文件(. bak)恢复到完全不同的系统并验证备份。有关数据库恢复的详细信息,请参阅此博客:如何从。bak文件逐步恢复SQL Server中的数据库.
如果您能够恢复数据库,请检查它是否通过了DBCC CHECKDB测试而没有出现任何错误。
方法2—重新粘贴MDF文件
注意:此方法适用于能够从RAID阵列恢复其数据库文件的用户。
如果没有备份,请尝试附加数据库文件,然后通过在另一台(测试)服务器上运行DBCC CHCEKDB命令来检查这些文件的完整性。如果数据库文件不起作用或CHECKDB返回任何错误,则需要手动修复这些文件。为此,尝试Paul Randal在博客上建议的步骤:紧急模式修复:非常非常最后的手段”。
第一步是通过将数据库设置为EMERGENCY模式使其可访问。一旦数据库可以访问,将数据库设置为SINGLE_USER模式,使用带有REPAIR_ALLOW_DATA_LOSS选项的DBCC CHECKDB来修复数据库。
注意:CHECKDB可能执行失败,或者可能需要更长的时间才能完成。这就是恒星修复MS SQL会派上用场。该软件修复损坏的SQL数据库(MDF和NDF)文件,并恢复文件内的所有数据。它使用并行处理,允许用户同时修复和保存多个表,帮助用户执行快速数据库恢复。
结论
这篇博客讨论了在RAID失败后恢复SQL数据库的方法。您可以尝试从SQL备份文件恢复数据库。如果备份不可用,则重建RAID,然后重新附加SQL数据文件(。mdf, .ldf)。如果重新构建失败,并且您能够恢复文件,您仍然可以尝试将它们重新连接到其他服务器。一旦能够恢复数据库,就可以对数据库运行DBCC CHECKDB以检查其一致性。如果DBCC CHECKDB报告任何错误,您将需要手动修复数据库,这可能需要相当长的时间才能完成,并可能导致数据丢失。一个更好的选择是使用恒星修复MS SQL软件。该软件修复数据库的MDF文件,并恢复其所有数据,保持数据的完整性。
常见问题
问:我可以恢复数据从一个失败的RAID 0驱动器使用恒星修复MS SQL?
A.下载软件的演示版本,查看可恢复的数据库对象预览。预览功能有助于验证要恢复的数据的准确性。您可以通过将数据保存到新数据库或活动数据库来恢复数据。
Q.重建RAID会导致数据丢失吗?
A.重建RAID会导致数据被覆盖,导致数据永远消失。如果已经备份了数据,则必须恢复备份。
问:如何检查RAID配置是否正确?
a .你可以按照以下步骤检查你是否正确设置了RAID:
- 右键单击系统上的“此PC”图标,然后单击“管理”。
- 在打开的屏幕上,展开“存储”,然后单击“磁盘管理”。
- 在屏幕底部的中间窗格中,您可以看到不同的磁盘号。在数字下面,检查是否提到了Basic或Dynamic这个词。
- 如果提到了Basic这个词,那么您的系统上没有配置RAID阵列,或者您可能正在使用硬件RAID。如果在磁盘号下面提到了Dynamic,并且所有驱动器上的每个驱动器号都相同,那么您已经设置了软件RAID。
问:如何使用恒星修复软件从损坏的数据库中恢复数据?
a .按照以下步骤使用软件从损坏的数据库恢复数据:
- 启动软件。单击“浏览”或“查找”按钮,选择要修复的数据库。
- 选择数据库后,单击“修复”。
- 选择扫描模式以继续SQL数据库修复过程。
- 当提示“已选择的MS SQL数据库修复成功”时,单击“确定”。
- 在预览窗口中验证可恢复的数据库对象的准确性。
- 要保存恢复的数据,请单击“文件”菜单上的“保存”。
- 选择保存数据的文件格式,包括MDF、CSV、HTML和XLS。
- 选择将恢复的数据保存到New Database或Live Database中。
- 输入连接到SQL Server实例的详细信息,选择保存数据库的位置,然后单击save。
数据将保存在选定的位置。