Firma Microsoft dystrybuuje poprawki dla programów Microsoft SQL Server 2008 i Microsoft SQL Server 2008 R2 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każda nowa wersja zawiera wszystkie poprawki i poprawki zabezpieczeń zawarte w poprzedniej wersji poprawki dla programu SQL Server 2008 lub SQL Server 2008 R2.
Objawy
Rozważmy następujący scenariusz w programie Microsoft SQL Server 2008 lub Microsoft SQL Server 2008 R2:
- Replikacja transakcyjna bazy danych jest konfigurowana.
- Baza danych jest konfigurowana przy użyciu opcji read_committed_snapshot.
- Replikacja jest skonfigurowana do korzystania z sync_method natywnego. Następnie inicjalizowane są subskrybenci replikacji i generowana jest migawka replikacji.
W tym scenariuszu agent dystrybucji kończy się niepowodzeniem z kodem błędu 20598. Ponadto może zostać wyświetlony jeden z następujących komunikatów o błędach:
-
Uwaga
<Data Godzina> szpieg**<ID**> Replication-Replication Dystrybucja
Podsystem: nazwa> agenta< nie powiodła się. Wiersz nie został znaleziony po stronie Subskrybent podczas stosowania zreplikowanego polecenia. -
Uwaga
<Data Godzina> szpieg**<ID**> Błąd: 14151, Ważność: 18, Stan: 1.
<Data Godzina> szpieg**<ID**> Replication-Replication Dystrybucja
Podsystem: nazwa> agenta< nie powiodła się. Naruszenie ograniczenia PRIMARY KEY '<Nazwa klucza> podstawowego'. Nie można wstawić zduplikowanego klucza w obiekcie '<tabela w subskrybencie>'.
Przyczyna
Ten problem występuje, ponieważ podczas generowania migawki na potrzeby replikacji brakuje blokady.
Rozwiązanie
Informacje o aktualizacji zbiorczej
SQL Server 2008 z dodatkiem Service Pack 1
Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 9 dla dodatku Service Pack 1 dla programu SQL Server 2008.
Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń uwzględnione w poprzedniej wersji poprawki programu 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 programu Microsoft SQL Server 2008 są tworzone dla określonych dodatków Service Pack dla programu SQL Server. 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.
Dodatek Service Pack 2 dla programu SQL Server 2008
Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 1 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:
2289254 Aktualizacja zbiorcza 1 dla dodatku Service Pack 2 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. 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:
2402659 Kompilacje SQL Server 2008 wydane po wydaniu dodatku Service Pack 2 SQL Server 2008
SQL Server 2008 R2
Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 4. 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:
2345451 Pakiet aktualizacji zbiorczej 4 dla systemu SQL Server 2008 R2 Uwaga Ponieważ te 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:
981356 Kompilacje SQL Server 2008 R2 wydane po wydaniu SQL Server 2008 R2
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 o replikacji programu SQL Server, odwiedź następującą witrynę sieci Microsoft Developer Network (MSDN) w sieci Web:
Replikacja programu SQL Server Aby uzyskać więcej informacji o izolacji migawek, odwiedź następującą witrynę MSDN w sieci Web:
Izolacja migawki Aby uzyskać więcej informacji dotyczących modelu obsługi przyrostowej dla programu SQL Server, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
935897 Zespół SQL Server udostępnia model obsługi przyrostowej w celu dostarczania poprawek dla zgłoszonych problemów
Aby uzyskać więcej informacji dotyczących schematu nazewnictwa aktualizacji programu SQL Server, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
822499 Nowy schemat nazewnictwa pakietów aktualizacji oprogramowania firmy Microsoft SQL Server Aby uzyskać więcej informacji dotyczących terminologii związanej z aktualizacjami oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft