我有一个 SQL Server 2005 数据库,我将其备份并恢复到运行 SQL Server 2012 的新服务器上。到目前为止一切顺利。今天早上我遇到了一次非常严重的停电,新服务器宕机了。当新服务器重新联机时,数据库有Recovery Pending
状态。
我将数据库置于单用户模式,做了一个DBCC CHECKDB
然后将数据库放回多用户模式并且Recovery Pending
状态消失了。在测试备份作业时,我注意到全文目录存在问题。
我试图删除目录并重新创建它,但它不会这样做。它抱怨它不是空的并且它有一个全文索引。我尝试从使用全文目录的表中删除索引,但随后收到一条消息,指出文本目录为空、只读或脱机。
我错过了什么?
注意:数据库在线,但备份作业一直失败。当我这样做时,DBCC CHECKDB
我得到以下信息:
Msg 8996, Level 16, State 1, Line 1
IAM page (3:9) for object ID 983374968, index ID 1, partition ID 72057594124173312, alloc unit ID 72057594131513344 (type In-row data) controls pages in filegroup 0, that should be in filegroup 2.
Msg 2575, Level 16, State 1, Line 1
The Index Allocation Map (IAM) page (3:9) is pointed to by the next pointer of IAM page (0:0) in object ID 983374968, index ID 1, partition ID 72057594124173312, alloc unit ID 72057594131513344 (type In-row data), but it was not detected in the scan.
Msg 8968, Level 16, State 11, Line 1
Table error: IAM page (3:9) (object ID 983374968, index ID 1, partition ID 72057594124173312, alloc unit ID 72057594131513344 (type In-row data)) is out of the range of this database.
Msg 7965, Level 16, State 2, Line 1
Table error: Could not check object ID 983374968, index ID 1, partition ID 72057594124173312, alloc unit ID 72057594131513344 (type In-row data) due to invalid allocation (IAM) page(s).
CHECKDB found 2 allocation errors and 2 consistency errors in table 'sys.fulltext_avdl_1062555119' (object ID 983374968).
CHECKDB found 2 allocation errors and 2 consistency errors in database 'MY-DATABASE'.
查看您的错误,尤其是 8996,看起来像是硬件问题。
运行硬件诊断并纠正任何问题。还要检查 Microsoft Windows 系统和应用程序日志以及 SQL Server 错误日志,以查看错误是否因硬件故障而发生。修复日志中包含的任何与硬件相关的问题。
CHECKDB 将无法修复此错误。最好是从GOOD备份恢复。
有关详细信息,请参阅此处。