MSSQL_ENG018752

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

Название продукта SQL Server
Идентификатор события 18752
Источник события MSSQLSERVER
Компонент Система управления базами данных SQL Server
Символическое имя
Текст сообщения К базе данных одновременно может быть подключен лишь один агент чтения журнала или процедура, относящаяся к журналу (sp_repldone, sp_replcmds и sp_replshowcmds). Если выполняется процедура, относящаяся к журналу, удалите подключение, по которому выполнялась процедура, или выполните для этого подключения процедуру sp_replflush, прежде чем запустить агент чтения журнала или выполнить другую процедуру, относящуюся к журналу.

Объяснение

Несколько текущих подключений пытаются выполнить любое из следующих действий: sp_repldone, sp_replcmds или sp_replshowcmds. Хранимые процедуры sp_repldone (Transact-SQL) и sp_replcmds (Transact-SQL) — это хранимые процедуры, используемые агентом чтения журналов для поиска и обновления сведений о реплицированных транзакциях в опубликованной базе данных. Хранимая процедура sp_replshowcmds (Transact-SQL) используется для устранения определенных типов проблем с репликацией транзакций.

Эта ошибка возникает в следующих обстоятельствах:

  • Если агент чтения журналов для опубликованной базы данных запущен, а второй агент чтения журналов пытается запуститься в той же базе данных, ошибка возникает для второго агента и отображается в журнале агентов.

    В ситуации, когда существует несколько агентов, возможно, что один из них является результатом осиротевшего процесса.

  • Если агент чтения журналов для опубликованной базы данных запущен, а пользователь выполняет sp_repldone, sp_replcmds или sp_replshowcmds в той же базе данных, ошибка возникает в приложении, где была выполнена хранимая процедура (например , sqlcmd).

  • Если агент чтения журналов не запущен для опубликованной базы данных, а пользователь выполняет sp_repldone, sp_replcmds или sp_replshowcmds , а затем не закрывает подключение, по которому была выполнена процедура, возникает ошибка, когда агент чтения журналов пытается подключиться к базе данных.

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

Следующие шаги помогут устранить проблему. Если любой шаг позволяет агенту чтения журналов запускаться без ошибок, нет необходимости выполнять оставшиеся действия.

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

  • Проверьте выходные данные sp_who (Transact-SQL) для определенных идентификаторов процесса (SPID), подключенных к опубликованной базе данных. Закройте все подключения, которые могли выполнить sp_repldone, sp_replcmds или sp_replshowcmds.

  • Перезапустите агент чтения журналов. Дополнительные сведения см. в разделе "Запуск и остановка агента репликации" (SQL Server Management Studio).

  • Перезапустите службу агента SQL Server (переведите в автономный режим или введите в эксплуатацию в кластерной среде) на дистрибьюторе. Если есть вероятность того, что запланированное задание могло быть выполнено командами sp_repldone, sp_replcmds или sp_replshowcmds из любого другого экземпляра SQL Server, перезапустите агент SQL Server для этих экземпляров. Дополнительные сведения см. в разделе "Пуск", "Остановка" или "Приостановить службу агента SQL Server".

  • Выполните sp_replflush (Transact-SQL) на издателе в базе данных публикации, а затем перезапустите агент чтения журналов.

  • Если ошибка продолжается, увеличьте ведение журнала агента и укажите выходной файл для журнала. В зависимости от контекста ошибки это может привести к действиям, которые приводят к ошибке и (или) дополнительным сообщениям об ошибках.

См. также

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