Firma Microsoft rozpowszechnia poprawki dodatku Service Pack 3 dla programu Microsoft SQL Server 2008 w postaci jednego pliku do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji programu SQL Server 2008 z dodatkiem Service Pack 3.

Symptomy

Rozpatrzmy następujący scenariusz:

  • Możesz skonfigurować dublowanie bazy danych w dwóch wystąpieniach programu Microsoft SQL Server 2008 lub Microsoft SQL Server 2008 R2.

  • Możesz skonfigurować publikację w ramach replikacji transakcyjnej bazy danych, która jest główną bazą danych do odczytu i zapisu na serwerze głównym w ramach partnerstwa dublowania bazy danych. Inicjalizacja replikacji jest zakończona, a następnie jest synchronizowana z abonentem.

  • Zreplikowana baza danych zostanie przejęta z serwera głównego na serwer dublowany. Uwaga W takiej sytuacji, serwer jest przełącznikiem dawned, a w trybie odczytu-zapisu baza danych jest dostępna w trybie do czytania jako nowa podstawowa baza danych.

  • Dodajesz artykuł do publikacji w nowym wystąpieniu podmiotu zabezpieczeń. Inicjalizacja replikacji jest zakończona, a następnie jest synchronizowana z abonentem.

  • Do publikacji zostanie dodany inny artykuł.

W tym scenariuszu są wyświetlane następujące komunikaty o błędach.Komunikat o błędzie 1

Nie Wygenerowano migawki, ponieważ nie jest wymagane zainicjowanie subskrypcji.

Komunikat o błędzie 2

Msg 14058, poziom 16, stan 1, sp_MSrepl_addsubscription_article procedury, wiersz 331Cannot Tworzenie subskrypcji, ponieważ subskrypcja już istnieje w bazie danych subskrypcji. W każdej bazie danych subskrypcji jest dozwolony tylko pojedynczy abonament na tę samą publikację. Upuść abonament i w razie potrzeby dodaj go ponownie. Jeśli problem będzie nadal występował, metadane replikacji mogą być niepoprawne; Zobacz dokumentację książki online, aby uzyskać informacje dotyczące rozwiązywania problemów.

UwagaTen problem występuje nadal w przypadku przełączania do oryginalnego wystąpienia głównego, a następnie dodania tego samego artykułu.

Rozwiązanie

Informacje o aktualizacji zbiorczej

SQL Server 2008 R2 z dodatkiem Service Pack 2

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 3. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2754552 Pakiet aktualizacji zbiorczej 3 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2 Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które uwzględniono w poprzedniej wersji poprawki do programu SQL Server 2008 R2 z dodatkiem Service Pack 2. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2730301 Kompilacja programu SQL Server 2008 R2 opublikowanych po wydaniu programu SQL Server 2008 R2 z dodatkiem Service Pack 2

SQL Server 2008 R2 z dodatkiem Service Pack 1

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 9. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2756574 Pakiet aktualizacji zbiorczej 9 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki SQL Server 2008 R2 z dodatkiem Service Pack 1. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2567616 Kompilacje programu SQL Server 2008 R2, które zostały wydane po opublikowaniu dodatku Service Pack 1 dla programu SQL Server 2008 R2

SQL Server 2008 z dodatkiem Service Pack 3

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 7 dla programu SQL Server 2008 z dodatkiem Service Pack 3. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server 2008 z dodatkiem Service Pack 3, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2738350 Pakiet aktualizacji zbiorczej 7 dla programu SQL Server 2008 z dodatkiem Service Pack 3Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji programu SQL Server 2008 z dodatkiem Service Pack 3. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2629969 Kompilacje programu SQL Server 2008 wydane po opublikowaniu dodatku Service Pack 3 dla programu SQL Server 2008

Stan

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

Więcej informacji

Aby uzyskać więcej informacji na temat konfigurowania replikacji i dublowania bazy danych, przejdź do następującej witryny MSDN w sieci Web:

Jak skonfigurować replikację i dublowanie bazy danychAby uzyskać więcej informacji na temat dublowania bazy danych, przejdź do następującej witryny MSDN w sieci Web:

Ogólne informacje na temat dublowania bazy danych

Obejście

W celu obejścia tego problemu należy sprawdzić, czy serwery sys. Server.przed dodaniem artykułu kolumny server_id i syssubscriptions.srvid są zgodne z aktywną bazą danych.Uwagi

  • Jeśli te dwie kolumny nie pasują do siebie, należy dodać ten artykuł do publikacji z tego wystąpienia, w którym kolumny te są zgodne. Może być konieczne zaplanowanie przestojów, aby przełączać się do bazy danych do wystąpienia partnera.

  • Jeśli w tabeli syssubscriptions istnieje wiele wartości srvid , Usuń artykuł, który ma inną wartość srvid , przejmowanie awaryjne bazy danych z wystąpieniem partnera, a następnie ponownie Dodaj artykuł.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.