Wykonywanie logiki biznesowej podczas synchronizacji scalania

Dotyczy:SQL Server

System obsługi logiki biznesowej umożliwia napisanie zarządzanego zestawu kodu, który jest wywoływany podczas procesu synchronizacji scalania. Asembl zawiera logikę biznesową, która może reagować na szereg warunków podczas synchronizacji: zmiany danych, konflikty i błędy. Framework Business Logic Handler zapewnia prosty model programowania, a dane dostarczane przez proces merge do Twojego asemblera mają formę zestawu danych ADO.NET, więc możesz korzystać z wiedzy o ADO.NET zamiast uczyć się własnościowego interfejsu. Więcej informacji na temat programowania procedur obsługi logiki biznesowej można znaleźć tutaj:

Zastosowania dla obsługiwaczy logiki biznesowej

Proces synchronizacji podczas scalania może wywołać moduły obsługi logiki biznesowej w celu wykonania następujących operacji:

  • Obsługa niestandardowych zmian

  • Niestandardowe rozwiązywanie konfliktów

  • Niestandardowe rozwiązywanie błędów

Note

Określona procedura obsługi logiki biznesowej jest wykonywana dla każdego zsynchronizowanych wierszy. Złożona logika i wywołania do innych aplikacji lub usług sieciowych mogą wpływać na wydajność.

Obsługa niestandardowych zmian

Handler logiki biznesowej może być wywoływany podczas przetwarzania niekonfliktowych zmian danych i może wykonać jedną z trzech czynności:

  • Odrzuć dane

    Jest to przydatne w aplikacjach, które nie chcą przekazywania zmian do lub od danego Abonenta. Na przykład administrator mógłby odfiltrować inserty, które nie należą do partycji Subskrybenta, lub ewentualnie odrzucić usuwania wykonane u abonenta. Na przykład aplikacja może odrzucić zamówienie złożone u Subscriber, ponieważ zapasy nie są już dostępne.

  • Zaakceptuj dane

    Jest to przydatne w aplikacjach, w których konieczne jest przeanalizowanie zmian danych dokonanych u Publisher lub Subscriber przed ich rozpowszechnieniem. Na przykład aplikacja średniej klasy mogłaby analizować nowe zamówienia napływające z terenu i zintegrować się z procesem zakupowym w tej firmie.

  • Zastosuj dane niestandardowe

    Jest to przydatne w aplikacjach, które muszą zastąpić określone wartości danych lub operacje. Na przykład aplikacja mogłaby przekształcić usunięcie wiersza w specjalną aktualizację, która ustawia kolumnę statusu w wierszu na wartość "usunięte", a następnie śledzi tożsamość klienta wykonującego usuwanie. Może to być przydatne do audytu lub workflow.

Niestandardowe rozwiązywanie konfliktów

Replikacja scalania zapewnia wykrywanie i rozwiązywanie konfliktów, pozwalając zaakceptować domyślną strategię rozwiązywania lub wybrać niestandardowe rozwiązanie konfliktów. Aby uzyskać więcej informacji, zobacz Zaawansowane wykrywanie i rozwiązywanie konfliktów replikacji scalania. Handler logiki biznesowej może być wywoływany podczas przetwarzania sprzecznych zmian danych i może wykonać jedną z dwóch czynności:

  • Zaakceptuj domyślną rozdzielczość

    Jest to przydatne w przypadku aplikacji, które mogą wymagać przeanalizowania konfliktu, wykonania dodatkowych działań oraz ewentualnego zarejestrowania niestandardowego komunikatu dziennika dotyczącego konfliktu.

  • Ustaw niestandardową rozdzielczość

    Jest to przydatne w aplikacjach, które mogą potrzebować wybrać wartości danych specyficzne dla swojej logiki biznesowej i dostarczyć proces synchronizacji z tym niestandardowym zbiorem danych. Na przykład aplikacja mogłaby dostarczyć nową wersję zwycięskiego wiersza, łącząc wartości z zestawów danych Publisher i Subscriber.

Niestandardowe rozwiązywanie błędów

Logika niestandardowa może być wywoływana podczas propagacji zmian prowadzących do błędów. Logika może wykonać jedną z dwóch czynności:

  • Zaakceptuj domyślne rozwiązywanie błędów

    Jest to przydatne dla aplikacji, które mogą wymagać przeglądu błędu i wykonania dodatkowych działań, a także ewentualnie wygenerowania niestandardowego komunikatu o logu błędów.

  • Akceptuj niestandardowe rozwiązywanie błędów

    Jest to przydatne w aplikacjach, które mogą potrzebować wybrać wartości danych specyficzne dla swojej logiki biznesowej i dostarczyć proces synchronizacji z tym niestandardowym zbiorem danych. Na przykład, jeśli proces replikacji napotka naruszenie duplikatu klucza, obsługa logiki biznesowej może dostarczyć nową wersję zmiany danych, w której klucz nie będzie już konfliktowy. Zmiany dokonane w Publisher i Subscriber mogą następnie pozostać w bazie danych, a proces replikacji nie musi rekompensować nieudanego wstawienia usunięciem.

Scenariusze wdrożenia dla obsługiwaczy logiki biznesowej

Moduły obsługi logiki biznesowej mogą być wdrażane w:

  • Dystrybutor. Użyj subskrypcji push, aby logika biznesowa była realizowana u dystrybutora.

  • Abonent. Użyj subskrypcji typu pull, aby logika biznesowa była wykonywana po stronie subskrybenta.

  • Serwer Internet Information Services (IIS), jeśli stosuje się synchronizację sieci. Użyj subskrypcji pull zsynchronizowanej z synchronizacją sieci, a obsługa logiki biznesowej będzie działać na serwerze IIS.