MSSQL_ENG018752
Szczegóły wiadomości
Nazwa produktu |
SQL Server |
Wersja produktu |
10.50 |
Numer kompilacji produktu |
|
Identyfikator zdarzenia |
18752 |
Źródło zdarzenia |
MSSQLSERVER |
Składnik |
Aparat baz danych programu SQL Server |
Nazwa symboliczna |
|
Tekst komunikatu |
Tylko jeden Agent czytnik dziennika lub procedury związane z dziennika (sp_repldone, sp_replcmds i sp_replshowcmds) można połączyć bazy danych na czas.Jeżeli wykonane procedury związane z dziennika, upuść połączenia, za pośrednictwem którego wykonano procedurę lub wykonywania sp_replflush za pośrednictwem tego połączenia przed rozpoczęciem Agent odczytywania dziennika lub wykonania innej procedury związane z dziennika. |
Wyjaśnienie
Więcej niż jedno połączenie bieżące próbuje wykonać następujące czynności: sp_repldone, sp_replcmds, lub sp_replshowcmds.Procedury przechowywane sp_repldone (języka Transact-SQL) i sp_replcmds (języka Transact-SQL) są procedury przechowywane, używany przez Agent odczytywania dziennika do zlokalizowania i aktualizowania informacji o transakcji w bazie danych opublikowanych replikowane.procedura składowana sp_replshowcmds (języka Transact-SQL) jest używana do rozwiązywania problemów z niektórych rodzajów replikacja transakcyjna.
Ten błąd jest uruchamiany w następujących okolicznościach:
Jeśli Agent odczytywania dziennika opublikowana baza danych jest uruchomiona i drugi Agent odczytywania dziennika próby uruchomienia tej samej bazie danych, błąd jest wywoływane dla agenta drugiego i pojawia się w historia agenta.
W sytuacji gdy wydaje istnieje wiele czynników jest możliwe, że jeden z nich jest wynikiem procesów oddzielonych.
Jeśli Agent odczytywania dziennika opublikowana baza danych jest uruchomiona i użytkownik wykonuje sp_repldone, sp_replcmds, lub sp_replshowcmds w tej samej bazie danych błędu jest wywoływane w aplikacji, w której wykonano procedura składowana (takich jak polecenie sqlcmd).
Jeśli nie Agent odczytywania dziennika z opublikowaną bazą danych i użytkownik wykonuje sp_repldone, sp_replcmds, lub sp_replshowcmds , a następnie zamknij nie połączenia, za pośrednictwem którego wykonano procedurę błąd powstaje, gdy Agent odczytywania dziennika próbuje połączyć się z bazą danych.
Akcja użytkownika
Następujące kroki może pomóc rozwiązać problem.Jeśli dowolny krok pozwala Agent odczytywania dziennika do uruchomienia bez błędów, nie ma potrzeby wykonać pozostałe kroki.
Sprawdzanie historia agenta czytnik dziennika błędów, które mogą przyczyniać się do tego błędu.Informacje wyświetlanie szczegółowych informacji o stanie i agenta w Monitor replikacji, zobacz Jak Wyświetlanie informacji i wykonywać zadania dotyczące czynników związanych z publikacją (Monitor replikacji).
Sprawdź dane wyjściowe sp_who (języka Transact-SQL) numerów identyfikacyjnych określonego procesu (identyfikatory SPID), podłączonych do opublikowanych bazy danych.Zamknąć wszystkie połączenia, które może mieć uruchomiony sp_repldone, sp_replcmds, lub sp_replshowcmds.
Uruchom ponownie Agent odczytywania dziennika.Aby uzyskać więcej informacji, zobacz Jak Uruchamianie i zatrzymywanie Agent replikacji (SQL Server Management Studio).
Uruchom ponownie SQL Server usługa Agent (przełączania trybu offline lub online w klastrze) na dystrybutora.Jeśli istnieje możliwość, że zaplanowane zadanie może zostać wykonane sp_repldone, sp_replcmds, lub sp_replshowcmds z innymi SQL Server wystąpienie, uruchom ponownie SQL Server agenta tych wystąpienies jak również.Aby uzyskać więcej informacji, zobacz Uruchamianie, zatrzymywanie i wstrzymywanie usługi SQL Server Agent.
Wykonanie sp_replflush (języka Transact-SQL) Wydawca na baza danych publikacjii uruchom ponownie agenta czytnik dziennika.
Jeżeli błąd się powtórzy, zwiększyć agenta rejestrowania i określić plik wyjściowy dla dziennika.W zależności od kontekstu błędu to może dostarczyć kroki prowadzące do błędu i/lub dodatkowe komunikaty o błędach.Aby uzyskać więcej informacji, zobacz Agenci replikacji (Rozwiązywanie problemów).
Zobacz także