Sdílet prostřednictvím


MSSQL_ENG018752

platí pro:SQL Serverazure SQL Managed Instance

Podrobnosti zprávy

Vlastnost Hodnota
Název produktu SQL Server
ID události 18752
Zdroj událostí MSSQLSERVER
Součást Databázový stroj systému SQL Server
Symbolický název
Text zprávy K databázi se může připojit jenom jeden agent Log Reader nebo procedura související s protokolem (sp_repldone, sp_replcmds a sp_replshowcmds). Pokud jste provedli proceduru související s protokolem, před spuštěním agenta Log Reader nebo spuštěním jiného postupu souvisejícího s protokolem zahoďte připojení, přes které se procedura spustila, nebo sp_replflush spusťte další proceduru související s protokolem.

Explanation

Více než jedno současné spojení se snaží provádět některou z následujících funkcí: sp_repldone, sp_replcmds nebo sp_replshowcmds. Uložené procedury sp_repldone (Transact-SQL) a sp_replcmds (Transact-SQL) jsou uložené procedury používané Log Reader Agentem k vyhledávání a aktualizaci informací o replikovaných transakcích v publikované databázi. Uložená procedura sp_replshowcmds (Transact-SQL) se používá k řešení určitých typů problémů s transakční replikací.

Tato chyba je vznesena v následujících situacích:

  • Pokud běží Log Reader Agent pro publikovanou databázi a druhý Log Reader Agent se pokusí spustit na stejné databázi, chyba se objeví u druhého agenta a objeví se v historii agenta.

    V situaci, kdy se zdá, že je více agentů, je možné, že jeden z nich je výsledkem osiřelého procesu.

  • Pokud je aktivován Log Reader Agent pro publikovanou databázi a uživatel spustí sp_repldone, sp_replcmds nebo sp_replshowcmds na stejné databázi, chyba se objeví v aplikaci, kde byla uložená procedura vykonána (například sqlcmd).

  • Pokud pro publikovanou databázi neběží žádný Log Reader Agent a uživatel spustí sp_repldone, sp_replcmds nebo sp_replshowcmds a poté nezavře spojení, přes které byla procedura provedena, chyba se zobrazí, když se Log Reader Agent pokusí připojit k databázi.

Uživatelská akce

Následující kroky vám mohou pomoci problém vyřešit. Pokud nějaký krok umožní Log Reader Agentovi začít bez chyb, není nutné dokončovat zbývající kroky.

  • Zkontrolujte historii agenta Log Reader, zda k ní nepřispívají další chyby. Pro informace o zobrazení stavu agenta a detailech chyb v Monitoru replikace viz Zobrazit informace a Provádět úkoly s Monitorem replikace.

  • Zkontrolujte výstup sp_who (Transact-SQL ) na specifická identifikační čísla procesů (SPID), která jsou připojena k publikované databázi. Uzavřete všechny připojení, která mohla vést sp_repldone, sp_replcmds nebo sp_replshowcmds.

  • Restartujte Log Reader Agent. Pro více informací viz Start and Stop a Replication Agent (SQL Server Management Studio).

  • Restartujte službu SQL Server Agent (převeďte ji offline nebo online v clusteru) na distributorovi. Pokud existuje možnost, že plánovaná úloha mohla být vykonána sp_repldone, sp_replcmds nebo sp_replshowcmds z jiné instance SQL Serveru, restartujte SQL Server Agent i pro tyto instance. Pro více informací viz Start, Stop, or Pause the SQL Server Agent Service.

  • Spusť sp_replflush (Transact-SQL) u vydavatele v databázi publikací a poté restartovat Log Reader Agent.

  • Pokud chyba pokračuje, zvýšte logování agenta a určete výstupní soubor pro log. V závislosti na kontextu chyby to může poskytnout kroky vedoucí k chybě a/nebo další chybové zprávy.