Поделиться через


MSSQL_REPL027183

Применимо к:Управляемому экземпляру SQL Server Azure

Сведения о сообщении

Атрибут значение
Название продукта SQL Server
Идентификатор события 27183
Источник событий MSSQLSERVER
Компонент Компонент SQL Server Database Engine
Символическое имя
Текст сообщения Процессу слияния не удалось перечислить изменения в статьях с параметризованными фильтрами строк. Если эта ошибка продолжает возникать, увеличьте тайм-аут запроса для этого процесса, уменьшите срок хранения публикации и оптимизируйте индексы по опубликованным таблицам.

Пояснение

Эта ошибка появляется, если возникает тайм-аут агента слияния во время обработки изменений в фильтруемой публикации. Тайм-аут может быть вызван одной из следующих причин:

  • Не используется оптимизация предварительно вычисляемых секций.

  • Для фильтрации используется фрагментация индекса столбцов.

  • Большие объединенные таблицы метаданных, например MSmerge_tombstone, MSmerge_contentsи MSmerge_genhistory.

  • Фильтруемые таблицы, не соединенные уникальным ключом, и фильтры соединения, использующие большое количество таблиц.

Действие пользователя

Чтобы решить эту проблему, выполните указанные ниже действия.

  • Увеличьте для агента слияния значение параметра -QueryTimeOut , чтобы разрешить продолжение обработки, пока будут устраняться основные причины, вызывающие эту ошибку. Параметры агента могут задаваться в профилях агента или в командной строке. Дополнительные сведения см. в разделе:

  • По возможности используйте оптимизацию предварительно вычисляемых секций. Эта оптимизация используется по умолчанию в случае выполнения ряда требований к публикации. Дополнительные сведения об этих требованиях см. в статье Оптимизация производительности параметризованного фильтра с помощью предварительно вычисляемых секций. Если публикация не отвечает этим требованиям, рассмотрите возможность повторной разработки публикации.

  • Укажите наименьшее возможное значение срока хранения данной публикации, потому что репликация не может выполнять очистку метаданных в базах данных публикации и подписок, пока не истечет срок хранения. Дополнительные сведения см. в разделе Subscription Expiration and Deactivation.

  • Обслуживая репликацию слиянием, иногда проверяйте увеличение размера системных таблиц, связанных с репликацией слиянием: MSmerge_contents, MSmerge_genhistory, MSmerge_tombstone, MSmerge_current_partition_mappingsи MSmerge_past_partition_mappings. Время от времени проводите повторную индексацию этих таблиц. Дополнительные сведения см. в статье Реорганизация и перестроение индексов.

  • Убедитесь в том, что столбцы, используемые для фильтрации, надлежащим образом проиндексированы, и при необходимости перестройте такие индексы заново. Дополнительные сведения см. в статье Реорганизация и перестроение индексов.

  • Для фильтров соединения, основанных на уникальных столбцах, задайте свойство join_unique_key . Дополнительные сведения см. в статье Join Filters.

  • Ограничьте число таблиц, входящих в иерархию фильтра соединения. При создании фильтров соединения из пяти и более таблиц рассмотрите другие решения: не фильтруйте маленькие таблицы, таблицы, которые не изменяются или служат в основном таблицами подстановки. Используйте фильтры соединения только между теми таблицами, которые должны быть секционированы среди подписок.

  • Уменьшите количество изменений в фильтруемых таблицах между синхронизациями или чаще запускайте агент слияния. Дополнительные сведения о настройке расписаний синхронизации см. в разделе Specify Synchronization Schedules.

См. также

Справочник по ошибкам и событиям (репликация)