Udostępnij za pośrednictwem


Pojęcia dotyczące obiektów zarządzania replikacją

Zarządzanie replikacją obiektów (RMO) jest wirtualny plik dziennika kod zarządzany, który obejmuje funkcje replikacja dla SQL Server. RMO jest implementowana przez Microsoft.SqlServer.Replication obszar nazw.

Tematy zawarte w poniższych sekcjach opisano, można użyć RMO programistycznie sterować zadań replikacja:

Wprowadzenie do programowania RMO

RMO jest przeznaczona dla wszystkich aspektów programowania SQL Server replikacja. Obszar nazw RMO jest Microsoft.SqlServer.Replication, i jest implementowana przez Microsoft.SqlServer.Rmo.dll, czyli Microsoft wirtualny plik dziennika .NET framework. Microsoft.SqlServer.replikacja.dll wirtualny plik dziennika, które należy także do Microsoft.SqlServer.Replication obszar nazw, implementuje interfejs kod zarządzany programowania różnych czynników replikacja (Agent migawka, Agent dystrybucji i scalanie Agent). Dostęp do jej klas można uzyskać z RMO do synchronizacji subskrypcji.Klasy w Microsoft.SqlServer.Replication.BusinessLogicSupport obszar nazw, które są wykonywane przez zespół Microsoft.SqlServer.replikacja.BusinessLogicSupport.dll są używane do tworzenia niestandardowe reguły biznesowe dla replikacja łączenia. Ten wirtualny plik dziennika jest niezależna od RMO.

Wdrażanie aplikacji opartych na RMO

RMO zależy od składniki replikacja i składniki połączenia klient, które są dołączone do wszystkich wersji programu SQL Server z wyjątkiem programu SQL Server CD. Aby wdrożyć aplikację, w zależności od RMO, należy zainstalować wersja SQL Server który zawiera składniki replikacja i składniki klient dotyczące łączności na komputerze, na którym uruchomiona jest aplikacja.

Wprowadzenie do korzystania z RMO

W tej sekcji opisano sposób uruchamiania prostych używając projektu RMO Microsoft Program Visual Studio.

Aby utworzyć nowy projekt programu Microsoft Visual C#

  1. Uruchom program Visual Studio.

  2. On the File menu, click NewProject. The Nowy projekt zostanie wyświetlone okno dialogowe.

  3. W Typy projektów okno dialogowe Wybierz Projekty Visual C#.W Szablony Wybierz opcję okienkuAplikacja systemu Windows.

  4. (Opcjonalnie) W Nazwa, wpisz nazwę nowej aplikacji.

  5. Kliknij przycisk OK załadować szablonu programu Visual C# systemu Windows.

  6. Na Projekt Wybierz opcję menuDodaj odwołanie element.The Add Reference dialog box appears.

  7. Wybierz następujące zestawy z listy na .NET karcie, a następnie kliknij przycisk OK.

    • Interfejs programowania .NET Microsoft.SqlServer.replikacja

    • Microsoft.SqlServer.ConnectionInfo

    • Biblioteka Agent replikacja

    Uwaga

    Użyj klucz CTRL, aby zaznaczyć więcej niż jeden plik.

  8. (Opcjonalnie) Powtórz krok 6.Kliknij przycisk Przeglądanie karty, przejdź do C:\Program Files\Microsoft SQL Server\100\Model COM, wybierz Microsoft.SqlServer.replikacja.BusinessLogicSupport.dll, a następnie kliknij przycisk OK.

  9. Na Widok menu kliknijKod.

  10. W kodzie, przed instrukcją obszaru nazw wpisz następujące polecenie using instrukcje w celu zakwalifikowania typów w obszarach nazw RMO:

    // These namespaces are required.
    using Microsoft.SqlServer.Replication;
    using Microsoft.SqlServer.Management.Common;
    // This namespace is only used when creating custom business
    // logic for merge replication.
    using Microsoft.SqlServer.Replication.BusinessLogicSupport; 
    

Aby utworzyć nowy projekt programu Microsoft Visual Basic .NET

  1. Uruchom program Visual Studio.

  2. Na Plik Wybierz opcję menuNowy projekt.The New Project dialog box appears.

  3. W okienku typy projektu zaznacz Program Visual Basic.W okienku szablony wybierz Aplikacja systemu Windows.

  4. (Opcjonalnie) W Nazwa wpisz nazwę nowej aplikacji.

  5. Kliknij przycisk OK załadować szablon systemu Windows w języku Visual Basic.

  6. Na Projekt Wybierz opcję menuDodaj odwołanie.The Add Reference dialog box appears.

  7. Wybierz następujące zestawy z listy na .NET karcie, a następnie kliknij przycisk OK.

    • Interfejs programowania .NET Microsoft.SqlServer.replikacja

    • Microsoft.SqlServer.ConnectionInfo

    • Biblioteka Agent replikacja

    Uwaga

    Użyj klucz CTRL, aby zaznaczyć więcej niż jeden plik.

  8. (Opcjonalnie) Powtórz krok 6.Kliknij przycisk Przeglądanie karty, przejdź do C:\Program Files\Microsoft SQL Server\100\Model COM, wybierz Microsoft.SqlServer.replikacja.BusinessLogicSupport.dll, a następnie kliknij przycisk OK.

  9. Na Widok menu kliknijKod.

  10. W kodzie przed wszelkimi deklaracjami wpisz następujące polecenie Imports instrukcje w celu zakwalifikowania typów w obszarach nazw RMO.

    ' These namespaces are required.
    Imports Microsoft.SqlServer.Replication
    Imports Microsoft.SqlServer.Management.Common
    ' This namespace is only used when creating custom business
    ' logic for merge replication.
    Imports Microsoft.SqlServer.Replication.BusinessLogicSupport 
    

Połączenie z serwerem replikacja

Obiekty programowania RMO wymagają, aby połączenie z wystąpienie SQL Server dokonuje się za pomocą wystąpienie ServerConnection Klasa. To połączenie z serwerem odbywa się niezależnie od wszystkich obiektów programowania RMO.Następnie są przekazywane do obiektu RMO, podczas tworzenia wystąpienie lub poprzez przypisanie do ConnectionContext() właściwość obiektu. W ten sposób RMO programowania obiektu i wystąpienia obiektów połączenia mogą być tworzone i zarządzane oddzielnie, a obiekt jednego połączenia może zostać użyty ponownie wielu RMO programowania obiektów.W przypadku połączeń z serwerem replikacja obowiązują następujące reguły:

  • Dla wszystkich właściwości dla połączenia zdefiniowano danej ServerConnection obiekt.

  • Połączenie z każdego wystąpienie SQL Server musi mieć swój własny ServerConnection obiekt.

  • The ServerConnection object is assigned to the ConnectionContext() właściwość of the RMO programming object being created or accessed on the server.

  • The Connect() metoda opens the connection to the server. Tej metoda należy wywołać przed wywołaniem wszystkie metoda dostępu do serwera, na dowolnej RMO programowania obiektów przy użyciu danego połączenia.

  • Ponieważ RMO i SQL Server Obiekty zarządzania obiekty (SMO) za pomocą obu ServerConnection Klasa połączeń SQL Server, tego samego połączenia mogą być używane przez obiekty RMO i obiektów SMO. Aby uzyskać więcej informacji zobacz Łączenie się z wystąpienie programu SQL Server.

  • Wszystkie informacje uwierzytelniające do nawiązania połączenia i pomyślnie zalogować się do serwera jest dostarczany w ServerConnection obiekt.

  • Ustawieniem domyślnym jest uwierzytelnianie systemu Windows.Aby użyć SQL Server Uwierzytelnianie, LoginSecure() musi być zestaw do false i Login() i Password() musi być zestaw na prawidłowy SQL Server logowania i hasło. Poświadczenia zabezpieczeń musi zawsze być przechowywane bezpiecznie obsługi i dostarczanych w czasie wykonywania, o ile to możliwe.

  • W przypadku aplikacji wielowątkowych, oddzielne ServerConnection obiekt, należy użyć w każdym wątek.

Wywołanie Disconnect() Metoda ServerConnection obiekt, aby zamknąć serwer aktywnego połączenia używany przez obiekty RMO.

Ustawianie właściwości RMO

Właściwości obiektów programowania RMO reprezentuje właściwości tych obiektów replikacja na serwerze.Podczas tworzenia nowych obiektów replikacja na serwerze, RMO właściwości są używane do definiowania tych obiektów.Dla istniejących obiektów właściwości RMO reprezentują właściwości istniejącego obiektu, które mogą być modyfikowane tylko dla właściwości, które są zapisywalne lub do ustawienia.Właściwości mogą być zestaw obiektów nowych lub istniejących obiektów.

Ustawianie właściwości dla nowych obiektów replikacja

Podczas tworzenia nowego obiektu replikacja na serwerze, należy określić wszystkie wymagane właściwości przed telefonicznej Create metoda obiektu. Aby uzyskać więcej informacji na temat ustawiania właściwości dla nowego obiektu replikacja Zobacz Jak Konfigurowanie publikacji i dystrybucji (Programowanie RMO).

Ustawianie właściwości dla istniejących obiektów replikacja

W przypadku replikacja obiektów, które istnieją na serwerze, w zależności od obiektu RMO może obsługiwać możliwość zmiany niektórych lub wszystkich jego właściwości.Tylko do ustawienia lub modyfikowalne właściwości mogą być zmieniane.Zanim właściwości mogą być zmieniane, albo Load lub LoadProperties() Metoda musi zostać wywołana, aby pobrać bieżące właściwości z serwera. Wywołanie metody te wskazuje modyfikacji istniejącego obiektu.

Domyślnie, podczas zmieniania właściwości obiektu, RMO zatwierdza tych zmian na serwerze, oparte na tryb wykonywania ServerConnection aktualnie używany. The IsExistingObject() metoda can be used to verify that an object exists at the server before attempting to retrieve or change its properties. Aby uzyskać więcej informacji na temat zmieniania właściwości obiektu replikacja Zobacz Jak Umożliwia wyświetlanie i modyfikowanie właściwości dystrybutor (RMO programowe) i Wydawca.

Uwaga

Gdy wielu klientów RMO lub wiele wystąpień obiektu programowania RMO uzyskują dostęp do tego samego obiektu replikacja na serwerze, Refresh zaktualizować właściwości, na podstawie bieżącego stanu obiektu na serwerze można wywołać metoda obiektu RMO.

Zmiany właściwość buforowania

Gdy SqlExecutionModes Właściwość jest zestaw do CaptureSql() wszystkie Transact-SQL instrukcje generowane przez RMO są przechwytywane, aby te mogą być wykonywane ręcznie w jednej partia przy użyciu jednej z metod wykonania. RMO pozwala buforować zmiany właściwość i przekazać je razem w jednej partia za pomocą CommitPropertyChanges() metoda obiektu. Zmiany właściwości w pamięci podręcznej CachePropertyChanges() należy ustawić właściwość obiektu true. Podczas zmiany właściwość w RMO, buforowanie ServerConnection obiekt nadal kontroluje, kiedy są wysyłane do serwera. Aby uzyskać więcej informacji na temat buforowania zmian właściwość dla obiektu replikacja Zobacz Jak Umożliwia wyświetlanie i modyfikowanie właściwości dystrybutor (RMO programowe) i Wydawca.

Important noteImportant Note:

Mimo że ServerConnection obsługuje klasy deklarowanie transakcji jawne, podczas ustawiania właściwości, takie transakcje mogą zakłócać transakcji wewnętrznych replikacja, może spowodować niespodziewane wyniki i nie powinny być używane z RMO.

Przykład

W przykładzie pokazano, buforowanie zmian właściwość.Zmiany wprowadzone do atrybutów transakcyjnych publikacja są buforowane, dopóki nie zostaną wysłane bezpośrednio do serwera.