Проблема
Предположим, что у вас есть одноранговая репликация (P2P) или репликация транзакций в секционированных таблицах в Microsoft SQL Server. При выполнении переключения секций или операции слияния с ожидающими реплицированными командами в этой секции в журнале ошибок SQL Server заметите следующую запись об ошибке:
Примечание
Ошибка: 608: не найдена запись каталога для идентификатора>< секции в database <DatabaseName>. Метаданные несогласованны. Запустите DBCC CHECKDB, чтобы проверка для повреждения метаданных.
Кроме того, агент чтения журнала создает дамп нарушения доступа.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Решение
Эта проблема устранена в следующих накопительных обновлениях для SQL Server:
- Накопительный пакет обновления 9 для SQL Server 2019 г.
- Накопительный пакет обновления 23 для SQL Server 2017 г.
- Накопительный пакет обновления 14 для SQL Server 2016 с пакетом обновления 2 (SP2)
Примечание После применения этого исправления при выполнении переключения секций или слияния с ожидающими реплицированными командами в этом разделе вы по-прежнему будете наблюдать ошибку 608 в журнале ошибок SQL Server, но нет дампов нарушения доступа.
Сведения о накопительных обновлениях для SQL Server:
Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:
- Последнее накопительное обновление для SQL Server 2019 г.
- Последнее накопительное обновление для SQL Server 2019 г.
- Последнее накопительное обновление для SQL Server 2016 г.
Дополнительные сведения
Если включить переключение секций на SQL Server 2008 R2 по текущую версию, в ближайшем будущем также могут потребоваться операции разделения и слияния. Перед выполнением операции разделения или слияния в реплицируемой таблице убедитесь, что в соответствующей секции нет ожидающих реплицированных команд. Также следует убедиться, что во время операций разделения и слияния в секции не выполняются операции DML. Если существуют транзакции, которые средство чтения журналов не обработало, или операции DML выполняются в секции реплицированной таблицы при выполнении операции разделения или слияния (с участием одной секции), это может привести к ошибке обработки с помощью агента чтения журнала. Чтобы исправить ошибку, может потребоваться повторная инициализация подписки.
Дополнительные сведения см. в разделе Репликация секционированных таблиц и индексов.
Внимание!
Не следует включать переключение секций для одноранговых публикаций из-за скрытого столбца, который используется для обнаружения и разрешения конфликтов.
Ссылки
Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.