KB2539378 — POPRAWKA: Replmerg.exe ulega awarii podczas wyliczania zmian w instrukcji w SQL Server, jeśli procedura składowana zawiera więcej niż 4000 znaków

Dotyczy
SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Web SQL Server 2008 Workgroup Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Standard Edition Microsoft SQL Server 2005 Workgroup Edition Microsoft SQL Server 2005 Service Pack 3 Microsoft SQL Server 2005 Service Pack 4

Objawy

Rozważmy następujący scenariusz:

  • Zmieniasz instrukcję procedury składowanej używanej w publikacji scalania w programach Microsoft SQL Server 2005, Microsoft SQL Server 2008 lub Microsoft SQL Server 2008 R2.
  • Procedura składowana zawiera więcej niż 4000 znaków.
  • Aby wyliczyć zmiany, uruchom agenta scalania (Replmerg.exe).

W tym scenariuszu Replmerg.exe ulega awarii. Ponadto w dzienniku aplikacji jest rejestrowany komunikat o błędzie podobny do następującego:

Uwaga

Nazwa dziennika: Aplikacja
Źródło: Błąd aplikacji
Data: <Data>
Identyfikator zdarzenia: 1000
Kategoria zadania: (100)
Poziom: Błąd
Słowa kluczowe: Klasyczny
Użytkownik: B/A
Komputer: <nazwa komputera>
Opis:
Nazwa aplikacji powodującej błąd: replmerg.exe, wersja: 2007.100.4000.0, sygnatura czasowa: 0x4c92ec51
Nazwa modułu powodującego błąd: ntdll.dll, wersja: 6.1.7600.16695, sygnatura czasowa: 0x4cc7b325
Kod wyjątku: 0xc0000374
Przesunięcie błędu: 0x00000000000c6ab2
Identyfikator procesu powodującego błąd: 0x1454
Czas uruchomienia aplikacji powodującej błąd: 0x01cbe4c4fc508bac
Ścieżka aplikacji powodującej błąd: D:\Program Files\Microsoft SQL Server\100\COM\replmerg.exe
Ścieżka modułu powodującego błąd: D:\Windows\SYSTEM32\ntdll.dll
Identyfikator raportu: 8811b864-50b8-11e0-90ff-000ffee506a7

Nazwa dziennika: Aplikacja
Źródło: Raportowanie błędów systemu Windows
Data: <Data>
Identyfikator zdarzenia: 1001
Kategoria zadania: Brak
Poziom: Informacje
Słowa kluczowe: Klasyczny
Użytkownik: B/A
Komputer: <nazwa komputera>
Opis:
Zasobnik usterek , typ 0
Nazwa zdarzenia: APPCRASH
Odpowiedź: niedostępne
Identyfikator kabiny: 0

Podpis problemu:
P1: replmerg.exe
P2: 2007.100.4000.0
P3: 4c92ec51
P4: StackHash_e266
P5: 6.1.7600.16695
P6: 4cc7b325
P7: c0000374
P8: 00000000000c6ab2
P9:
P10:

Załączone pliki:

Te pliki mogą być dostępne tutaj:
D:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_replmerg.exe_43c274c4abed59ae9c49f7a88c2cc6da29bd54_8fd3d3ca

Symbol analizy:
Ponowne sprawdzanie rozwiązania: 0
Identyfikator raportu: 8811b864-50b8-11e0-90ff-000ffee506a7
Stan raportu: 0

      

Przyczyna

Ten problem występuje z powodu uszkodzenia sterty, gdy Replmerg.exe wylicza zmiany instrukcji.

Rozwiązanie

Informacje o aktualizacji zbiorczej

Dodatek Service Pack 3 dla programu SQL Server 2008

Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 1 dla dodatku Service Pack 3 dla programu SQL Server 2008. Aby uzyskać więcej informacji dotyczących tego pakietu aktualizacji skumulowanych, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2617146 Pakiet aktualizacji zbiorczej 1 dla dodatku Service Pack 3 SQL Server 2008Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń zawarte w poprzedniej wersji poprawki SQL Server 2008. Firma Microsoft zaleca rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2629969 Kompilacje SQL Server 2008 wydane po wydaniu dodatku Service Pack 3 SQL Server 2008 Poprawki Microsoft SQL Server 2008 są tworzone dla określonych SQL Server dodatków Service Pack. Należy zastosować poprawkę dodatku Service Pack 3 dla programu SQL Server 2008 do instalacji dodatku Service Pack 3 dla programu SQL Server 2008. Domyślnie każda poprawka dostępna w dodatku Service Pack dla programu SQL Server jest uwzględniona w następnym dodatku Service Pack dla programu SQL Server.

Dodatek Service Pack 2 dla programu SQL Server 2008

Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 5 dla dodatku Service Pack 2 dla programu SQL Server 2008. Aby uzyskać więcej informacji dotyczących tego pakietu aktualizacji skumulowanych, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2555408 Pakiet aktualizacji zbiorczej 5 dla dodatku Service Pack 2 SQL Server 2008Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji poprawek SQL Server 2008. Firma Microsoft zaleca rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2402659 Kompilacje SQL Server 2008 wydane po wydaniu dodatku Service Pack 2 SQL Server 2008 Poprawki Microsoft SQL Server 2008 są tworzone dla określonych SQL Server dodatków Service Pack. Należy zastosować poprawkę dodatku Service Pack 2 dla programu SQL Server 2008 do instalacji dodatku Service Pack 2 dla programu SQL Server 2008. Domyślnie każda poprawka dostępna w dodatku Service Pack dla programu SQL Server jest uwzględniona w następnym dodatku Service Pack dla programu SQL Server.

SQL Server 2008 z dodatkiem Service Pack 1

Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 15 dla programu SQL Server 2008 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji dotyczących tego pakietu aktualizacji skumulowanych, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2555406 Pakiet aktualizacji zbiorczej 15 dla dodatku Service Pack 1 SQL Server 2008Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji poprawek SQL Server 2008. Firma Microsoft zaleca rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

970365 Kompilacje SQL Server 2008 wydane po wydaniu dodatku Service Pack 1 SQL Server 2008 Poprawki Microsoft SQL Server 2008 są tworzone dla określonych SQL Server dodatków Service Pack. Należy zastosować poprawkę dodatku Service Pack 1 dla programu SQL Server 2008 do instalacji dodatku Service Pack 1 dla programu SQL Server 2008. Domyślnie każda poprawka dostępna w dodatku Service Pack dla programu SQL Server jest uwzględniona w następnym dodatku Service Pack dla programu SQL Server.

SQL Server 2008 R2 z dodatkiem Service Pack 1

Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 1 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2544793 Pakiet aktualizacji zbiorczej 1 dla dodatku Service Pack 1 dla systemu SQL Server 2008 R2Uwaga Ponieważ kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji poprawek SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2567616 Kompilacje SQL Server 2008 R2 wydane po wydaniu dodatku Service Pack 1 SQL Server 2008 R2

SQL Server 2008 R2

Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 8. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2534352 Pakiet 8 aktualizacji zbiorczych dla SQL Server 2008 R2 Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

981356 Kompilacje SQL Server 2008 R2 wydane po wydaniu SQL Server 2008 R2

SQL Server 2005

Informacje o poprawkach

Firma Microsoft udostępnia obsługiwaną poprawkę. Ma on jednak na celu rozwiązanie tylko problemu opisanego w tym artykule. Stosuj ją tylko do systemów, w których występuje ten specyficzny problem.

Aby rozwiązać ten problem, skontaktuj się z Pomocą techniczną firmy Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę numerów telefonów Pomocy technicznej firmy Microsoft oraz informacje o kosztach pomocy technicznej, odwiedź następującą witrynę firmy Microsoft w sieci Web:

/contactus/?ws=support Uwaga W wyjątkowych przypadkach użytkownik telefonujący do pomocy technicznej może zostać anulowany, jeśli specjalista z pomoc techniczna firmy Microsoft stwierdzi, że określona aktualizacja rozwiąże problem. Normalne koszty pomocy technicznej będą dotyczyć dodatkowych pytań oraz problemów, których rozwiązanie nie jest objęte określoną aktualizacją.

Wymagania wstępne

Aby można było zastosować tę poprawkę, na komputerze musi być zainstalowany program SQL Server 2005 z dodatkiem Service Pack 4 (SP4).

Wymóg ponownego uruchomienia

Po zastosowaniu tej poprawki może być konieczne ponowne uruchomienie komputera.

Informacje o zastępowaniu poprawek

Ta poprawka nie zastępuje wcześniej wydanej poprawki.

Informacje o plikach

Angielska wersja tej poprawki ma atrybuty pliku (lub nowsze atrybuty pliku) wymienione w poniższej tabeli. Daty i godziny dla tych plików są wyświetlane według uniwersalnego czasu koordynowanego (UTC). Informacje o pliku są konwertowane na czas lokalny. Aby znaleźć różnicę między czasem UTC a czasem lokalnym, użyj karty Strefa czasowa w elemencie Data i godzina w Panelu sterowania.

Dla wszystkich obsługiwanych wersji aparatu bazy danych programu SQL Server 2005 opartych na architekturze x86

Nazwa pliku Wersja pliku Rozmiar pliku Data Godzina Platforma
Replprov.dll 2005.90.5268.0 551,776 21-kwiecień-11 22:46 x86

Dla wszystkich obsługiwanych wersji aparatu bazy danych programu SQL Server 2005 opartych na architekturze x64

Nazwa pliku Wersja pliku Rozmiar pliku Data Godzina Platforma
Replprov.dll 2005.90.5268.0 751,968 21-kwiecień-11 22:43 x64

Dla wszystkich obsługiwanych wersji aparatu bazy danych programu SQL Server 2005 opartych na architekturze IA-64

Nazwa pliku Wersja pliku Rozmiar pliku Data Godzina Platforma
Replprov.dll 2005.90.5268.0 1,629,536 22-kwiecień-11 0:55 IA-64

                  

                  

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Źródła informacji

Aby uzyskać więcej informacji na temat agenta scalania replikacji, odwiedź następującą witrynę MSDN w sieci Web:

Ogólne informacje o agencie scalania replikacji