- 平台问题 - 由于这个原因95%的SQL数据库损坏发生
- SQL服务器或驱动程序错误
- 突然断电或病毒攻击
- 硬件问题
如果这种情况发生在你身上,那么这个How-to对你是有好处的。
解决任何类型的SQL Server损坏问题的最佳和有效的解决方案是从保存和更新的备份恢复数据库。如果您没有破坏数据库的备份,请按照以下步骤操作:
步骤1:在损坏的数据库上运行DBCC CHECKDB
DBCC CHECKDB(损坏数据库的名称)
注意:还可以指定选项:infomsgs,no_infomsgs with DBCC CHECKDB
步骤2:查找索引ID。如果索引ID大于1,则可以安全地删除并重新创建它。
步骤3:如果索引id为0或1,则需要重新运行DBCC CHECKDB,并提供相应的修复选项:repair_fast,repair_rebuild和repair_allow_data_loss。
DBCC CHECK(损坏的数据库的名称,repair_fast)
DBCC CHECK(损坏的数据库的名称,repair_rebuild)
DBCC CHECK(损坏的数据库的名称,repair_allow_data_loss)
步骤4:最后运行DBCC CHECKDB以确保数据库中不再有腐败。屏幕上将显示类似的信息。
DBCC CHECKDB在“损坏的数据库的名称”中发现了0个分配错误和0个一致性错误。
结论:始终创建数据库备份。建议创建多个备份,因为我们依靠硬件来维护数据库的备份,但硬件也容易出现损坏。因此,您需要在磁带或可移动驱动器上创建备份。