Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Gdy definiujesz sparametryzowany filtr wierszy dla publikacji scalanej, używasz funkcji odwołującej się do informacji o Subskrybencie, takich jak nazwa logowania Subskrybenta. Domyślnie replikacja weryfikuje informacje o Subskrybencie na podstawie tej funkcji przed każdą synchronizacją oraz za każdym razem, gdy migawka jest stosowana u Subskrybenta. Proces walidacji zapewnia, że dane są prawidłowo podzielone dla każdego Abonenta. Zachowanie walidacji jest kontrolowane przez właściwość validate_subscriber_info publikacji, którą można zmienić za pomocą sp_changemergepublication (Transact-SQL) lub na stronie Opcje subskrypcji w oknie dialogowym Właściwości publikacji . Więcej informacji na temat zmiany właściwości publikacji można znaleźć w sekcji Zobacz i zmodyfikuj właściwości publikacji.
Jak działa walidacja partycji
Gdy publikacja jest filtrowana, na przykład przy użyciu funkcji SUSER_SNAME(), agent scalania stosuje migawkę początkową do każdego subskrybenta na podstawie danych, które są prawidłowe dla wyrażenia SUSER_SNAME().
Jeśli sprawdzanie poprawności jest włączone, gdy Subskrybent ponownie łączy się z Publikatorem podczas kolejnej synchronizacji, Agent scalania sprawdza informacje u Subskrybenta i zapewnia, że partycja każdego Subskrybenta jest taka sama jak ta otrzymana w początkowej migawce. Dla każdej kolejnej aplikacji merge lub snapshot, Merge Agent waliduje partycję każdego Abonenta.
Jeśli Merge Agent wykryje, że funkcja użyta w wyrażeniu filtrującym zwraca inną wartość niż przy początkowym snapshotie, aplikacja merge lub snapshot zostaje nieudana i subskrypcja tego Subscribera może wymagać ponownej inicjalizacji. Ponowna inicjalizacja może być konieczna, aby zapobiec problemom, które mogą się pojawić po zmianie ustawień scalania subskrybenta, ale może też wystarczyć przywrócenie informacji u subskrybenta, takich jak nazwa logowania, do wartości używanej w momencie utworzenia oryginalnej migawki.
Gdy Merge Agent waliduje partycję, oprócz weryfikacji partycji względem wartości zwracanych przez dowolne funkcje używane w filtrowaniu wyrażeń, agent sprawdza również, czy migawka została wygenerowana przed zmianami, które ją unieważniały, takimi jak operacje czyszczenia metadanych czy zmiany schematu. Jeśli snapshot partycjonowany jest zbyt stary, Merge Agent zwróci błąd i musisz wygenerować snapshot partycjonowany dla tego Abonenta na podstawie aktualnego zwykłego snapshota.