Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server Управляемый экземпляр SQL Azure
Сведения о сообщении
| Атрибут | Значение |
|---|---|
| Название продукта | SQL Server |
| ИД события | 18752 |
| Источник событий | MSSQLSERVER |
| Компонент | Компонент SQL Server Database Engine |
| Символическое имя | |
| Текст сообщения | К базе данных одновременно может быть подключен лишь один агент чтения журнала или процедура, относящаяся к журналу (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) на издателе в базе данных публикации, а затем перезапустите агент чтения журналов.
Если ошибка продолжает возникать, увеличьте протоколирование агента и укажите выходной файл для журнала. В зависимости от контекста ошибки эта мера может помочь в определении шагов, которые привели к ошибке или появлению дополнительных сообщений об ошибке.