38、SQL Server数据库管理与维护全解析
SQL Server数据库管理与维护全解析
在SQL Server数据库的管理和维护工作中,会遇到各种问题和挑战。下面我们将详细探讨数据库应急状态处理、备份恢复、对象管理等多个方面的内容。
数据库应急状态与备份恢复
数据库可能会出现逻辑不一致的情况,例如银行账户意外存入100万美元却未被察觉。将数据库设置为应急(EMERGENCY)状态是一种最后的手段,它绝不能替代从良好备份中恢复数据库。不过,在微软技术支持工作中,由于部分客户没有有效的备份可供恢复,这种方法还是会被频繁使用。
除了修复功能,将数据库设置为应急状态还能让我们访问数据库,并使用如bcp工具复制出对业务至关重要的表,这在数据库抢救操作中是一个实用的技巧。
在备份恢复方面,当使用WITH CHECKSUM选项创建备份,且备份介质出现校验和错误时,恢复操作可能会失败。不过,在SQL Server 2005的特定版本中,引入了CONTINUE_AFTER_ERROR选项。在大多数情况下,即使出现错误(如校验和错误),该选项也能让恢复操作完成。虽然恢复后的数据库能否使用或抢救成功具有不确定性,但如果只是备份介质的一小部分(甚至是单个位)出现问题,这个选项可能有助于恢复大部分数据库。
当遇到数据库损坏问题时,找出损坏原因至关重要。根据多年经验,数据库损坏的首要原因通常是系统问题,尤其是I/O系统。可以采用这样的方法来排查:如果运行DBCC CHECKDB或遇到校验和错误,并且有涵盖问题时间段的数据库和事务日志备份,可将它们恢复到一个单独的服务器上。如果备份有效,按顺序恢复且恢复过程中未出
