Udostępnij za pośrednictwem


Przerywanie zmiany SQL Server replikacji

Ostrzeżenie

W przypadku programu SQL Server 2008 R2 nie ma zmian zawartości wymienionej w tym temacie.

W tym temacie opisano zmiany podziału SQL Server replikacji.Zmiany te mogą przerwać aplikacje, skrypty lub funkcje, które są oparte na starszych wersjach SQL Server.Te problemy mogą wystąpić podczas uaktualniania.Aby uzyskać więcej informacji, zobacz Przygotowanie do uaktualnienia przy użyciu Upgrade Advisor.

Przerywanie zmiany wprowadzone w programie SQL Server 2005 i SQL Server 2008

W tej sekcji opisano zmiany podziału funkcje replikacja, które zostały wprowadzone w SQL Server 2005 lub SQL Server 2008.

Przerywanie zmiany, które wpływają na wszystkie rodzaje replikacji

Następujące zmiany podziału są stosowane do wszystkich typów replikacja.

Funkcja

Opis

Zmiany wymagane do replikacja skryptów

Model zabezpieczeń agent replikacja została zmieniona z SQL Server 2000.Aby uzyskać szczegółowe informacje na temat modelu zabezpieczeń, zobacz Model zabezpieczeń Agent replikacji.Jeśli jesteś element członkowski z sysadmin Rola serwera w stałej SQL Server 2005 i uruchom skrypty utworzone z replikacja SQL Server 2000 lub SQL Server 7.0, skrypty poprawnego.Jeśli jesteś element członkowski z dbo stałej rola bazy danych lub innej roli, błędów skryptów i należy ją uaktualnić.Aby uzyskać informacje dotyczące uaktualniania skryptów, zobacz Jak Uaktualnienie replikacji skryptów (Programowanie replikacji Transact-SQL).Chociaż nie jest wymagane uaktualnienie skryptów wykonywanych przez członków sysadmin roli, zaleca się korzystanie z rozszerzeń zabezpieczeń.

Połączeń lokalnych agentów replikacja

Po uaktualnieniu do SQL Server 2005, wszelkich połączeń lokalnych, które używają SQL Server uwierzytelniania są modyfikowane do używania uwierzytelniania systemu Windows.Połączenia lokalne są połączenia tych przez agenta do wystąpienie SQL Server uruchomione na tym samym komputerze agenta.Na przykład scalić Agent dla subskrypcja wciągana działa przez subskrybenta, tak aby połączeń wprowadza subskrybenta połączeń lokalnych.

W poprzednich wersjach SQL Server, agenci uruchomiony w kontekście domyślnie SQL Server konto usługa agenta.After upgrade, local connections are made under the context of this account.SQL Server 2005 allows fine-grained control over each account under which the replication agents run and make Windows Integrated connections to databases and other resources; a different account can be specified for each agent.Po uaktualnieniu zalecane jest określenie różnych kont dla każdego agenta.Aby uzyskać więcej informacji, zobacz Uwagi dotyczące uaktualniania zreplikowanych baz danych i Model zabezpieczeń Agent replikacji.

Formanty ActiveX

Wszystkie formanty ActiveX są oznaczone jako niebezpieczne dla wykonywanie skryptów i inicjowania.

Formant migawki Agent nie jest dostępna w SQL Server 2005.Użyj nowy zarządzany Agent migawki.Aby uzyskać więcej informacji, zobacz SnapshotGenerationAgent i Jak Tworzenie migawki początkowego (Programowanie RMO).

Hasło distributor_admin konta

Zaufane połączenia między wydawcy i dystrybutor zdalny nie są już obsługiwane, ponieważ nie wymagają hasła (zaufanego połączenia były używane domyślnie w wersjach przed SQL Server 2000 Service Pack 3).Jeśli używasz dystrybutor zdalny, przed uaktualnieniem do SQL Server 2005, konwertowanie zaufanego połączenia-zaufanego połączenia (problem dotyczy wydawców, które korzystają z lokalnym dystrybutorem).Więcej informacji o distributor_admin konta, zobacz Zabezpieczanie dystrybutor.

Aby określić typ połączenia używany

  • Wykonanie sp_helpdistpublisher u dystrybutora.Jeśli wartość w trusted Kolumna jest 1, należy zmienić-zaufane połączenie.

Aby zmienić inne niż-zaufane połączenie

  1. Wykonanie sp_changedistpublisher u dystrybutora, określając wartość "zaufanych" dla parametru @property i wartości "False" dla parametru @value.

    UwagaUwaga:
    Niektóre wersje SQL Server 2000 Books Online nie umieszczaj "zaufanych" jako prawidłowej wartości @property.Jest ważne dla wszystkich SQL Server 2000 wydań.
  2. Wykonanie sp_changedistributor_password w obu Wydawca i dystrybutor, określenie silnego hasła dla parametru @password.

SQL Server Expressnie obejmuje SQL Server Agent

Jeśli uaktualniasz do SQL Server Express, ponieważ należy ponownie skonfigurować synchronizacji replikacja SQL Server Express nie obejmuje SQL Server agenta.

Jeśli chcesz używać ściągać subskrypcje, należy zsynchronizować je za pomocą obiektów zarządzania replikacja (RMO), Menedżer synchronizacji systemu Windows, lub uruchamiając agent replikacja w wierszu polecenia.Aby uzyskać więcej informacji, zobacz Replikujących dane do programu SQL Server Express.

Jeśli chcesz nadal korzystać z SQL Server Uruchamianie zadania agenta replikacja agenta należy użyć wypychanie subskrypcji lub uaktualnienia do innej wersja SQL Server (wszystkie wersje oprócz SQL Server Express i SQL Server Compact 3.5 z dodatkiem SP1 obejmują SQL Server Agent).Z wypychanie subskrypcje, Agent dystrybucji lub scalić Agent działa na Dystrybutor, więc SQL Server Agent jest dostępna (SQL Server Express nie może być dystrybutora).

Microsoft Subskrybenci dostępu (Jet 4.0)

Jet jest podstawowej bazy danych używane przez program Access i replikacja obsługiwany subskrypcji do bazy danych Jet w SQL Server 2000.Subskrypcje te nie są już obsługiwane.

Zalecane jest użycie SQL Server Express zamiast.Dostępu można użyć SQL Server bazę danych jako wewnętrznej bazy danych, a SQL Server bazy danych nie są zagrożone tym problemem.Aby uzyskać więcej informacji, zobacz Replikujących dane do programu SQL Server Express.

Przerywanie zmian dla replikacji transakcyjnej

Następujące zmiany dzielenia stosują się do replikacja transakcyjna.

Funkcja

Opis

Inicjowanie transakcyjnych subskrypcja z kopia zapasowa1

Aby zainicjować subskrypcja z kopia zapasowa w SQL Server 2008, użytkownik musi być członkiem dbcreator roli serwera.W SQL Server 2005, członkostwo w db_owner rola bazy danych były wystarczające.

Aby uzyskać więcej informacji na temat zainicjować subskrypcja z kopia zapasowa, zobacz Inicjowanie transakcyjnych subskrypcję bez migawki.

Opcja kolejkowanie komunikatów w kolejce subskrypcja aktualizacji

W kolejce subskrypcje aktualizacji zmiany od subskrybentów są zapisywane do kolejki; zmiany są odczytywane z kolejki i dostarczane do Wydawca przez agenta czytnik kolejki.W SQL Server 2000, można użyć subskrypcje SQL Server kolejki lub kolejkowanie komunikatów do kolejki zmiany.Określono typ kolejki z @queue_type parametr sp_addpublication, którego dozwolone wartości sql i msmq (kolejkowanie komunikatów).W SQL Server 2005, tylko wartość sql jest dozwolona.Istniejące publikacje, które korzystają z kolejkowanie komunikatów są modyfikowane podczas uaktualniania do używania SQL Server kolejki.Jeśli aplikacje zależne od kolejkowanie komunikatów w kolejce aktualizowania, aplikacje te trzeba przebudowywany, aby pomieścić SQL Server kolejki.Więcej informacji na temat aktualizowania subskrypcji w kolejce, zobacz Aktualizowalna subskrypcji dla replikacji transakcyjnej.

Uaktualnienie spowoduje usunięcie istniejących kolejek subskrypcja kolejkowanie komunikatów, jeśli kolejkowanie komunikatów usługa jest uruchomiony podczas SQL Server jest uaktualniany.

Ważna informacjaWażne:
W systemie Windows 2000 i Windows XP Microsoft usługa Koordynator transakcji rozproszonych (MSDTC) musi być również uruchomiona, ponieważ kolejkowanie komunikatów wymaga usługa MSDTC na tych platformach.

Jeśli kolejkowanie komunikatów usługa jest nie działa, usuwanie kolejek ręcznie po zakończeniu uaktualnienia.Aby uzyskać więcej informacji dotyczących usuwania kolejek zobacz dokumentację systemu Windows.

Zmień wywołanie format subskrypcje aktualizacji

Domyślnie zestaw procedur przechowywanych jest używany do zastosowania zmian do subskrybentów w replikacja transakcyjna.Każda procedura ma wywołania format.Format ten określa, jak parametry są przekazywane do procedury i ilość danych przesyłanych do subskrybenta.W SQL Server 2000, domyślnym formatem jest wywołanie.W SQL Server 2005 i SQL Server 2008, domyślnie przyjmowany jest format VCALL.

Ta zmiana dotyczy tylko topologii, w których procedury przechowywane zostały dostosowane.Po uaktualnieniu należy zmienić podpis dostosowaną procedurę, aby uwzględnić dodatkowe parametry.W przeciwnym razie dystrybucji agenta nie powiedzie się.

1 Ten problem dotyczy tylko SQL Server 2008 i nowsze wersje.

Przerywanie zmiany replikacji scalania

Następujące zmiany podziału są stosowane do replikacja scalająca.

Funkcja

Opis

Publikowanie z SQL Server Express

SQL Server MSDE mogłyby służyć jako Wydawca dla publikacji korespondencji seryjnej.SQL Server Express, zamiennik dla aparatu MSDE, nie serwera jako wydawca.Je subskrybować transakcyjnych, korespondencji seryjnej i publikacje migawka.Replikacja scalania i replikacja transakcyjna zarówno zezwolić na zmiany propagowane z subskrybenci subskrypcji aktualizacji z powrotem do Wydawca.Aby uzyskać więcej informacji na temat replikowania SQL Server Express, zobacz Replikujących dane do programu SQL Server Express.

Tworzenie pakietów wsadowych zmian

W poprzednich wersjach SQL Server, zmiany wprowadzone przez agenta scalić przeprowadzono na podstawie wiersz po wierszu.W SQL Server 2005, zmiany są batched w celu zwiększenia wydajności; Dlatego więcej niż jeden wiersz mogą być wstawiane, aktualizowane lub usunięte w ramach jednej instrukcja.Jeśli wszystkie tabele opublikowanych w bazach danych subskrypcja lub publikacja wyzwalaczy, upewnij się, że Wyzwalacze może obsłużyć próba wstawiania, aktualizacji i usuwania.Aby uzyskać więcej informacji, zobacz MultiRow zagadnienia dotyczące DML wyzwalaczy.

Odtworzenia tabele konfliktów

Po uaktualnieniu do SQL Server 2005, tabele konfliktów są odtwarzane ponownie dbo ich właściciela.Jeśli tabele zostały własnością innych użytkowników w SQL Server 2000, aplikacja może być konieczna modyfikacja.

Scalania replikacja tworzy tabela konfliktów dla każdego artykuł w publikacja, o nazwie w postaci conflict_PublicationName_ArticleName.Wszystkie tabele metadane są odtworzony na uaktualnienia, a wszystkie tabele konfliktów są tworzone w schemacie DBO.

Nowe zakresy tożsamości przypisane

Dla tabel, używających automatycznego tożsamości zakres zarządzania replikacja może przypisać nowe zakresy tożsamości podczas uaktualniania.Jeśli wszystkie tabele mają większy zakres tożsamości przypisane do subskrybenta niż do Wydawca, replikacja przypisuje zakres do Wydawca równa subskrybenta.

Do określenia zakresów używane dla każdego artykuł, wykonać sp_helpmergearticle w baza danych publikacja i pub_identity_range i identity_range kolumny.