Objawy

Replikacja Agent odczytywania dziennika nie powiedzie się w programie Microsoft SQL Server, pojawi się komunikat o błędzie podobny do następującego w Dzienniku programu SQL Server:

< sygnatura czasowa > spid98 replikację replikacja dziennika transakcji czytnik
Podsystem: logreadername agenta nie powiodło się. Proces nie można wykonać "sp_replcmds"
na '< nazwa serwera >'.
< sygnatura czasowa > błąd spid258: 14151, wskaźnik ważności: 18, stan: 1.
< sygnatura czasowa > spid258 replikację replikacja dziennika transakcji czytnik
Podsystem: logreadername agenta nie powiodło się. Proces nie można wykonać "sp_replcmds"
na '< nazwa serwera >'.


Ponadto może zostać wyświetlony jeden lub więcej komunikatów o błędach podobne do następujących:

  • Nie można utworzyć LogReader 18805/18836 replikowane polecenia

    < sygnatura czasowa > Stan: 0, kod: 20011, tekst: "proces nie można wykonać"sp_replcmds"na"< nazwa serwera >".".
    < sygnatura czasowa > proces nie można wykonać "sp_replcmds" na '< nazwa serwera >'.
    < sygnatura czasowa > Stan: 0, kod: 18836, tekst: "nieprawidłowy blok informacji tekstu dla UpdateText: m_pHead -> GetType(): 1, m_TextDataType: 0, m_TextOpType: ti 3,: {RowsetId 7746362867712 {TextTimeStamp 480235880448 {RowId {PageId 2680944, Identyfikator FileId 1}, Identyfikator_gniazda 21}}, coloffset -1, textInfoFlags 0x4, wielkość tekstu 177, przesunięcie 177, oldSize, 0, newSize 0}.".
    < sygnatura czasowa > Stan: 0, kod: 18805, tekst: "Logreader nie można skonstruować replikowanych polecenia LSN {00150725:00014316:009 d}.". < sygnatura czasowa > Stan: 0, kod: 22037, tekst: "proces nie można wykonać"sp_replcmds"na"< nazwa serwera >".".

  • Nie można utworzyć LogReader 18805/18836 replikowane polecenia

    < sygnatura czasowa > Stan: 0, kod: 20011, tekst: "proces nie można wykonać"sp_replcmds"na"< nazwa serwera >".".
    < sygnatura czasowa > proces nie można wykonać "sp_replcmds" na '< nazwa serwera >'.
    < sygnatura czasowa > Stan agenta Repl: 6
    < sygnatura czasowa > Stan: 0, kod: 18805, tekst: "Agent odczytywania dziennika nie można skonstruować replikowanych polecenia z numer sekwencyjny dziennika (LSN) {00033a89:0000969 c: 000a}. Utworzenie kopii zapasowej bazy danych publikacji i skontaktuj się z biurem obsługi klienta. ".
    < sygnatura czasowa > Stan: 0, kod: 22037, tekst: "proces nie można wykonać"sp_replcmds"na"< nazwa serwera >".".

  • Limit czasu LogReader

    Agent jest uruchomiony. Umożliwia wyświetlanie szczegółowych informacji o tej sesji agenta Monitor replikacji.
    Stan agenta REPL: 3
    Wydawca: {call sp_repldone (0x0000172a0002ac900001, 0x0000172a0002ac900001, 0, 0)}
    Wydawca: {call sp_replcmds (500, 0)}
    Stanu: kod 2: 0, tekst: "proces nie można wykonać"sp_replcmds"na"< nazwa wydawcy >".".
    Proces nie można wykonać "sp_replcmds" na "< nazwa wydawcy >".
    Stan agenta REPL: 5
    Stanu: kod 2: 0, tekst: "Upłynął limit czasu".
    Odłączanie od wydawcy "< nazwa wydawcy >"
    Agent nie powiodła się ze stanem 'Ponów próbę'. Spróbuj uruchomić agenta w późniejszym czasie.


  • Potwierdzenia

    < sygnatura czasowa > Stan: 0, kod: 20011, tekst: "proces nie można wykonać"sp_replcmds"na"< nazwa serwera >".".
    < sygnatura czasowa > proces nie można wykonać "sp_replcmds" na '< nazwa serwera >'.
    < sygnatura czasowa > Stan: 0, kod: 18773, tekst: "Nie można zlokalizować tekst informacji rekordów dla kolumny"ClientPreferences", podczas budowy polecenie o identyfikatorze 30.".
    < sygnatura czasowa > Stan: 0, kod: 3624, tekst: "Sprawdzanie potwierdzenia systemu nie powiodło się. Sprawdź dziennik błędów programu SQL Server, aby uzyskać szczegółowe informacje. Zazwyczaj błąd potwierdzenia przyczyną jest uszkodzenie danych lub błędu oprogramowania. Aby sprawdzić, czy uszkodzenie bazy danych, należy rozważyć uruchamianie polecenia DBCC CHECKDB. Jeśli Zgodziłeś się wysłać zrzuty do firmy Microsoft podczas instalacji, mini zrzutu będą wysyłane do firmy Microsoft. Aktualizacja może być udostępniana przez firmę Microsoft w najnowszy dodatek Service Pack lub aktualizacji QFE z pomocy technicznej. '.
    < sygnatura czasowa > Stan: 0, kod: 22037, tekst: "proces nie można wykonać"sp_replcmds"na"< nazwa serwera >".".

Rozwiązywanie problemów

  • Komunikat o b³êdzie 1: "LogReader 18805/18836 nie powiodło się polecenia replikowany konstrukcja"
    Z tej wiadomości można określić obiekt i zmiany, które są tworzone w dzienniku transakcji. Aby to zrobić, użyj następujących informacji:

    • Kod 18836 daje identyfikator strony, na której można znaleźć obiektu.

      Uwaga Polecenie DBCC strony do wyświetlania zawartości stron bazy danych.

    • Kod 18805 daje numeru kolejnego dziennika (LSN), który może dostarczać obiektu:

      dbcc Log(master, 3, 'lsn', '0x00000208:000000a0:0004', 'numrecs', 1)



  • Komunikat o b³êdzie 2: "LogReader 18805/18836 nie powiodło się polecenia replikowany konstrukcja"
    Zasadnicza różnica między komunikat o b³êdzie 1 i komunikat o b³êdzie 2 jest, czy błąd 2 zawiera komunikat o stanie i nie wskazuje kolumny "textinfo". Ten znany problem został rozwiązany w Zbiorcza aktualizacja pakietu 11 dla dodatku Service Pack 3 (SP3) dla systemu Microsoft SQL Server 2008.

    Ten problem występuje tylko w tych tabelach, które mają typ kolumny danych dużego obiektu binarnego (BLOB) i dla której tego artykułu nie używa poleceń parametrami w celu replikowania. Aby rozwiązać ten problem, wykonaj następujące kroki:

    1. Określić, czy artykuł używa polecenia parametrami. Aby to zrobić, uruchom następujące zapytanie:

      select status, name from sysarticles where name =''
    2. Konwertowanie wartości stanu na format binarny. Na przykład wartość stanu 41, wartość binarna jest 101001, i piąty bit od prawej strony, znany również jako bitów stanu jest włączone. Jeśli stan bit ma wartość 1, następnie to jest już ustawiony. Jeśli stan bit ma wartość 0, następnie go nie jest ustawiona. W związku z tym należy uruchomić sp_changearticle Aby skonfigurować polecenia parametrami. Aby zmienić stan bit, uruchom następujące polecenie:

      sp_changearticle 'ConstituentRequest_ETL_Trans', 'CRProfile', 'status', 'parameters' 




  • Komunikat o błędzie 3: "LogReader limit czasu"
    Aby rozwiązać ten problem, użyj jednej z następujących metod:

    • Zwiększ wartość parametru QueryTimeout Agent odczytywania dziennika.

      Uwaga: Domyślnie wartością tego parametru jest 1800 sekund (30 minut).

    • Ustaw wartość parametru QueryTimeout do zera (0), aby wyłączyć limit czasu.

    • Zmniejsz wartość dla parametru ReadBatchSize Agent odczytywania dziennika.



  • Komunikat o błędzie 4: "Potwierdzenia"
    Sprawdź dziennik błędów programu SQL Server dla potwierdzenia, a następnie porównaj stosu wątku z problemów w następujących artykułach z bazy wiedzy Microsoft Knowledge Base. Artykuły te opisują dwóch typowych twierdzeń, które występują w programie SQL Server:

    • NAPRAW 923296 : Agent odczytywania dziennika nie powiedzie się, a podczas korzystania z replikacji transakcyjnej w programie SQL Server 2005 jest rejestrowany komunikat Błąd potwierdzenia.

    • NAPRAW 956273 : komunikat o błędzie podczas synchronizowania danych transakcyjnych replikacji w programie SQL Server 2005: "replikację replikacja dziennika transakcji czytnik podsystemu: agent < nazwa agenta > nie powiodło się"


    Jeśli potwierdzenia w dzienniku błędów pasuje do problemów w tych artykułach bazy wiedzy Knowledge Base, należy zainstalować odpowiednie poprawki.



Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×