Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure 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.