今天同步复制出现了如下问题:
Table error: Database ID 20, object ID 5575058, index ID 0. Chain linkage mismatch. (1:1617)->next = (1:1618), but (1:1618)->prev = (1:356)..
Error: 8908, Severity: 22, State: 6
查了一下online book,解释如下:
Message Text
Table error: Database ID %d, object ID %d, index ID %d. Chain linkage mismatch. %S_PGID->next = %S_PGID, but %S_PGID->prev = %S_PGID.
Explanation
This error occurs when Microsoft® SQL Server™ detects an inconsistency in the page linkage of one of the page chains associated with a table, for example, when a page's next pointer points to a page whose previous pointer points back to a different page. There is one doubly-linked page chain for the table data as well as one for each index level.
Important This is a serious error and must be corrected immediately.
If DBCC statements detect this error during run-time processing, error 605 will also occur.
Action
Determine which table is corrupt by examining the current page in the error message. Execute DBCC CHECKDB without a repair clause to determine the extent of the corruption. Then, execute DBCC CHECKDB with the appropriate repair clause to repair the corruption. If the page is associated with an index, it is sometimes possible to resolve the problem by dropping the index. In most cases, you must recover the database from a known clean backup.
If the error involves an index page, use the REPAIR_REBUILD clause. If the error involves a data page, it may be necessary to use the REPAIR_ALLOW_DATA_LOSS clause. In the likely event that you cannot allow the loss of data, you will need to restore from a known clean backup. If the problem persists, contact your primary support provider. Have the output from DBCC CHECKDB available for review
到master中找到Database ID 20对应的DB是distribution, object ID 5575058对应为MSrepl_commands,然后在distribution中执行DBCC CHECKDB,结果显示没有任何错误,然后再执行同步复制就ok了….
由于出现问题到执行DBCC CHECKDB有5个小时的间隔,这期间有执行过publication db的Transaction log的备份,这会不会有影响呢?困惑中….各位有没有碰到这样的问题?或有什么解决方法,欢迎留言…