Sql server 帮助解释与破损页面相关的DBCC CHECKDB输出

Sql server 帮助解释与破损页面相关的DBCC CHECKDB输出,sql-server,dbcc,Sql Server,Dbcc,我被要求查看一个SQL 2005数据库,该数据库报告“页面撕裂”错误 我可以查找msgid等等,但我只需要几个指针,从更一般的意义上解释DBCC CHECKDB输出 在此示例中: Msg 8909, Level 16, State 1, Line 1 Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 8795506764168298496 (type Unknown), page ID (1:106887)

我被要求查看一个SQL 2005数据库,该数据库报告“页面撕裂”错误

我可以查找msgid等等,但我只需要几个指针,从更一般的意义上解释DBCC CHECKDB输出

在此示例中:

Msg 8909, Level 16, State 1, Line 1 Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 8795506764168298496 (type Unknown), page ID (1:106887) contains an incorrect page ID in its page header. The PageId in the page header = (1041:-523272204). Msg 8939, Level 16, State 98, Line 1 Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 8971733407675449344 (type Unknown), page (0:0). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 62916617 and -4. CHECKDB found 0 allocation errors and 37 consistency errors not associated with any single object. Msg 8939, Level 16, State 98, Line 1 Table error: Object ID 69575286, index ID 1, partition ID 286034662653952, alloc unit ID 286034662653952 (type In-row data), page (1:207727). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 62916617 and -1. Msg 8964, Level 16, State 1, Line 1 Table error: Object ID 69575286, index ID 1, partition ID 286034662653952, alloc unit ID 71780678747160576 (type LOB data). The off-row data node at page (1:443), slot 26, text ID 1509706039296 is not referenced. Msg 8909,16级,状态1,第1行 表错误:对象ID 0,索引ID-1,分区ID 0,分配单元ID 879550676416298496(类型未知),页ID(1:106887)在其页眉中包含不正确的页ID。页面标题中的页面ID=(1041:-523272204)。 Msg 8939,16级,状态98,第1行 表错误:对象ID 0,索引ID-1,分区ID 0,分配单元ID 8971733407775449344(类型未知),页(0:0)。测试(处于关闭状态(BUF\u IOERR,pBUF->bstat))失败。值为62916617和-4。 CHECKDB发现0个分配错误和37个一致性错误与任何单个对象都没有关联。 。。。显然,这些错误与任何单个对象无关(请注意,ObjectID和IndexID没有正确的值)。这到底是什么意思?如果它不是一个单一的对象,那么它是什么

在此示例中:

Msg 8909, Level 16, State 1, Line 1 Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 8795506764168298496 (type Unknown), page ID (1:106887) contains an incorrect page ID in its page header. The PageId in the page header = (1041:-523272204). Msg 8939, Level 16, State 98, Line 1 Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 8971733407675449344 (type Unknown), page (0:0). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 62916617 and -4. CHECKDB found 0 allocation errors and 37 consistency errors not associated with any single object. Msg 8939, Level 16, State 98, Line 1 Table error: Object ID 69575286, index ID 1, partition ID 286034662653952, alloc unit ID 286034662653952 (type In-row data), page (1:207727). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 62916617 and -1. Msg 8964, Level 16, State 1, Line 1 Table error: Object ID 69575286, index ID 1, partition ID 286034662653952, alloc unit ID 71780678747160576 (type LOB data). The off-row data node at page (1:443), slot 26, text ID 1509706039296 is not referenced. Msg 8939,16级,状态98,第1行 表错误:对象ID 69575286,索引ID 1,分区ID 286034662653952,分配单元ID 286034662653952(输入行数据),第页(1:207727)。测试(处于关闭状态(BUF\u IOERR,pBUF->bstat))失败。值为62916617和-1。 Msg 8964,16级,状态1,第1行 表错误:对象ID 69575286,索引ID 1,分区ID 286034662653952,分配单元ID 717806787471160576(类型LOB数据)。未引用第页(1:443),插槽26,文本ID 1509706039296处的行外数据节点。 。。。它是指包含数据的页面,还是指包含索引的页面?它提到行外数据,但也给出了索引ID和索引ID。索引ID值0和1表示什么

顺便说一句,这是为了帮助一个慈善机构,所以非常感谢任何帮助。谢谢

PS:我还不在现场,只是查看他们发给我的dbcc日志,所以我还不能做任何修补

编辑:其SQL 2005 v 9.0.3042

编辑:假设您知道,恢复备份可能不是一个选项,因为被破坏的页面已经在数据库中存在了几个月,这是由于第三方在服务器切换后没有将维护计划放回原位,或者类似的情况。因此,假设调查错误并尝试修复或隔离它们是唯一的行动方针。

几乎有你需要的所有答案


然而,在实践中,您应该已经在考虑“恢复”…

我是根据这里的经验说的

此错误表示您的数据库已损坏

我将还原您没有此错误的最新备份,并使用它


您可以运行DBCC修复损坏,但很可能会丢失数据。不过,我不建议这样做,因为“恢复/修复”似乎可以正常工作,但不能正常工作。

不客气。我应该补充说:如果你不能恢复,读的是“修复神话”的文章。。。