Udostępnij za pośrednictwem


Jak Programowo Monitor replikacja (Programowanie RMO)

Monitor replikacja jest graficznym narzędziem, które umożliwia monitorowanie topologię replikacja.Dostęp można uzyskać te same dane monitorowania programowo przy użyciu RMO (replikacja Management Objects).Klasy RMO umożliwiają program następujące zadania:

  • Monitorowanie wyniki pięć ostatnich uruchomień Scal Agent przez subskrybent.

  • Monitorowanie stanu wydawcy, publikacje i subskrypcje.

  • Monitorowanie transakcyjnych poleceń, które oczekują w jeden lub więcej subskrybentów.

  • Umożliwia zdefiniowanie metryki progu, które określają, kiedy publikacja wymaga interwencji.

  • Monitorowanie stanu tokeny śledzenia.Aby uzyskać więcej informacji zobacz How to: Measure Latency and Validate Connections for Transactional Replication (RMO Programming).

Aby monitorować subskrypcja do publikacja seryjnej subskrybent

  1. Utwórz połączenie subskrybent przy użyciu ServerConnection Klasa.

  2. Utworzenie wystąpienie MergeSubscriberMonitor Klasa i ustawić Publisher(), Publication(), PublisherDB(), SubscriberDB() Właściwości subskrypcja i zestaw ConnectionContext() Właściwość ServerConnection utworzony w kroku 1.

  3. Połącz z jedną z następujących metod, aby zwrócić informacji na temat korespondencji seryjnej Agent sesji dla tej subskrypcja:

    • GetSessionsSummary() -Zwraca tablicę MergeSessionSummary obiekty z informacjami o maksymalnie pięć ostatnich sesje agenta korespondencji seryjnej. Uwaga SessionID() wartość dla każdej sesji odsetek.

    • GetSessionsSummary(Int32) -Zwraca tablicę MergeSessionSummary obiekty o informacje o sesjach Agent korespondencji seryjnej, które wystąpiły podczas ostatnich liczby godzin przekazany jako hours Parametr (maksymalnie pięć ostatnich sesje). Uwaga SessionID() wartość dla każdej sesji odsetek.

    • GetLastSessionSummary() -Zwraca MergeSessionSummary obiekt z informacjami o ostatniej sesja agenta korespondencji seryjnej. Uwaga SessionID() wartość dla tej sesja.

    • GetSessionsSummaryDataSet() -Zwraca DataSet obiekt z informacjami o maksymalnie pięć ostatnich sesje agenta korespondencji seryjnej, w każdym wierszu. Zanotuj wartość Session_id kolumna dla każdej sesji odsetek.

    • GetLastSessionSummaryDataRow() -Zwraca DataRow obiekt z informacjami o ostatniej sesja agenta korespondencji seryjnej. Zanotuj wartość Session_id kolumna dla tej sesja.

  4. (Opcjonalnie) Wywołanie RefreshSessionSummary(MergeSessionSummary%) Aby odświeżyć dane dla MergeSessionSummary przekazany jako obiekt mss, lub wywołania RefreshSessionSummary(DataRow%) Aby odświeżyć dane w DataRow przekazany jako obiekt drRefresh.

  5. Przy użyciu IDENTYFIKATORA sesja uzyskane w kroku 3, Połącz z jedną z następujących metod do zwracania informacji o szczegółowe informacje dotyczące określonej sesja:

    • GetSessionDetails(Int32) -Zwraca tablicę MergeSessionDetail podanych obiektów sessionID.

    • GetSessionDetailsDataSet(Int32) -Zwraca DataSet obiekt o informacje dotyczące określonego sessionID.

Monitorowanie replikacja właściwości dla wszystkich publikacji u dystrybutor

  1. Utwórz połączenie dystrybutor przy użyciu ServerConnection Klasa.

  2. Utworzenie wystąpienie ReplicationMonitor Klasa.

  3. zestaw ConnectionContext() Właściwość ServerConnection utworzony w kroku 1.

  4. Wywołanie LoadProperties() Metoda uzyskać właściwości obiektu.

  5. Wykonaj jedną z następujących metod do zwracania informacji o replikacja na wszystkich wydawców, używające tego dystrybutor.

    • EnumDistributionAgents() -Zwraca DataSet obiekt, który zawiera informacje o wszystkich agentów dystrybucji w tym dystrybutor.

    • EnumErrorRecords(String, Int32) -Zwraca DataSet obiekt, który zawiera informacje o błędach przechowywanych dystrybutor.

    • EnumLogReaderAgents() -Zwraca DataSet obiekt, który zawiera informacje o wszystkich agentów Reader dziennika u dystrybutor.

    • EnumMergeAgents() -Zwraca DataSet obiekt, który zawiera informacje o wszystkich agentów Scal u dystrybutor.

    • EnumMiscellaneousAgents() -Zwraca DataSet obiekt, który zawiera informacje dotyczące innych czynników replikacja u dystrybutor.

    • EnumPublishers() -Zwraca DataSet obiekt, który zawiera informacje o wszystkich wydawców, w tym dystrybutor.

    • EnumPublishers2() -Zwraca DataSet obiekt, który zwraca wydawcy, używające tego dystrybutor.

    • EnumQueueReaderAgents() -Zwraca DataSet obiekt, który zawiera informacje o wszystkich agentów Reader kolejki u dystrybutor.

    • EnumQueueReaderAgentSessionDetails(String, Int32, String) -Zwraca DataSet obiekt zawierający szczegółowe informacje dotyczące określonej kolejki Reader agenta i sesja.

    • EnumQueueReaderAgentSessions(String, Int32, Int32, Boolean) -Zwraca DataSet obiekt, który zawiera informacje o sesja dotyczące określonej kolejki agenta Reader.

    • EnumSnapshotAgents() -Zwraca DataSet obiekt, który zawiera informacje o wszystkich agentów migawka u dystrybutor.

Aby monitorować właściwości publikacja dla określonego Wydawca na dystrybutor

  1. Utwórz połączenie dystrybutor przy użyciu ServerConnection Klasa.

  2. Uzyskiwanie PublisherMonitor obiekt w jednym z tych metod.

    • Utworzenie wystąpienie PublisherMonitor Klasa. Ustawianie Name() dla Wydawca, a następnie ustaw właściwość ConnectionContext() Właściwość ServerConnection utworzony w kroku 1. Wywołanie LoadProperties() Metoda uzyskać właściwości obiektu. Jeśli ta metoda zwraca false, albo nazwę Wydawca został zdefiniowany niepoprawnie lub publikacja nie istnieje.

    • Z PublisherMonitorCollection dostępne poprzez PublisherMonitors() właściwość istniejącej ReplicationMonitor obiekt.

  3. wykonać jeden lub więcej z następujących metod do zwracania informacji o replikacja na wszystkich publikacji, które należą do tego Wydawca.

    • EnumDistributionAgentSessionDetails(String, String) -Zwraca DataSet obiekt zawierający szczegółowe informacje dotyczące określonej sesja i Agent dystrybucji.

    • EnumDistributionAgentSessions(String, Int32, Boolean) -Zwraca DataSet obiekt, który zawiera informacje o sesja dotyczące określonego agenta dystrybucji.

    • EnumErrorRecords(Int32) -Zwraca DataSet obiekt, który zawiera błąd podczas zapisywania informacji o określony błąd.

    • EnumLogReaderAgentSessionDetails(String, String) -Zwraca DataSet obiekt zawierający szczegółowe informacje dla określonego Agent odczytywania dziennika i sesja.

    • EnumLogReaderAgentSessions(String, Int32, Boolean) -Zwraca DataSet obiekt, który zawiera informacje dotyczące określonego Agent odczytywania dziennika sesja.

    • EnumMergeAgentSessionDetails(String, String) -Zwraca DataSet obiekt zawierający szczegółowe informacje dotyczące określonej sesja i Agent korespondencji seryjnej.

    • EnumMergeAgentSessionDetails2(Int32) -Zwraca DataSet obiekt, który zawiera dodatkowe informacje szczegółowe na temat określonej sesja i Agent korespondencji seryjnej.

    • EnumMergeAgentSessions(String, Int32, Boolean) -Zwraca DataSet obiekt, który zawiera informacje o sesja dla określonego agenta korespondencji seryjnej.

    • EnumMergeAgentSessions2(String, Int32, Boolean) -Zwraca DataSet obiekt, który zawiera informacje o dodatkowych sesja dla określonego agenta korespondencji seryjnej.

    • EnumPublications() -Zwraca DataSet obiekt, który zawiera informacje o wszystkich publikacji, w tym dystrybutor.

    • EnumPublications2() -Zwraca DataSet obiekt, który zawiera dodatkowe informacje dotyczące wszystkich publikacji, w tym dystrybutor.

    • EnumSnapshotAgentSessionDetails(String, String) -Zwraca DataSet obiekt zawierający szczegółowe informacje dotyczące określonej sesja i migawka Agent.

    • EnumSnapshotAgentSessions(String, Int32, Boolean) -Zwraca DataSet obiekt, który zawiera informacje o sesja dla określonego agenta migawka.

    • EnumSubscriptions(PublicationType, SubscriptionResultOption) -Zwraca DataSet obiekt, który zawiera informacje o wszystkich subskrypcji do publikacji, w tym dystrybutor.

Aby monitorować właściwości dla określonej publikacja na dystrybutor

  1. Utwórz połączenie dystrybutor przy użyciu ServerConnection Klasa.

  2. Uzyskiwanie PublicationMonitor obiekt w jednym z tych metod.

    • Utworzenie wystąpienie PublicationMonitor Klasa. Ustawianie DistributionDBName(), PublisherName(), PublicationDBName(), a Name() właściwości publikacja i zestaw ConnectionContext() Właściwość ServerConnection utworzony w kroku 1. Wywołanie LoadProperties() Metoda uzyskać właściwości obiektu. Jeśli ta metoda zwraca false, albo właściwości publikacja zostały niepoprawnie określone publikacja nie istnieje lub nie.

    • Z PublicationMonitorCollection dostępne poprzez PublicationMonitors() właściwość istniejącej PublisherMonitor obiekt.

  3. Wykonaj jedną z następujących metod, aby zwrócić informacji na temat tej publikacja.

    • EnumErrorRecords(Int32) -Zwraca DataSet obiekt, który zawiera rekordy błąd dotyczący określonego błędu.

    • EnumLogReaderAgent() -Zwraca DataSet obiekt, który zawiera informacje dotyczące Agent odczytywania dziennika dla tej publikacja.

    • EnumMonitorThresholds() -Zwraca DataSet obiekt, który zawiera informacje dotyczące monitora progi ostrzeżenie zestaw dla tej publikacja.

    • EnumQueueReaderAgent() -Zwraca DataSet obiekt, który zawiera informacje dotyczące agenta Reader kolejki, używane w tej publikacja.

    • EnumSnapshotAgent() -Zwraca DataSet obiekt, który zawiera informacje dotyczące agenta migawka dla tej publikacja.

    • EnumSubscriptions() -Zwraca DataSet obiekt, który zawiera informacje dotyczące subskrypcji w tej publikacja.

    • EnumSubscriptions2(SubscriptionResultOption) -Zwraca DataSet obiekt, który zawiera dodatkowe informacje na temat subskrypcji tej publikacja na podanej podstawie SubscriptionResultOption.

    • EnumTracerTokenHistory(Int32) -Zwraca DataSet obiekt, który zawiera informacje dotyczące czasu oczekiwania dla token śledzący określony.

    • EnumTracerTokens() -Zwraca DataSet obiekt, który zawiera informacje dotyczące wszystkich tokenów śledzenia do tej publikacja.

Aby monitorować transakcyjnych poleceń, które oczekują w subskrybent

  1. Utwórz połączenie dystrybutor przy użyciu ServerConnection Klasa.

  2. Uzyskiwanie PublicationMonitor obiekt w jednym z tych metod.

    • Utworzenie wystąpienie PublicationMonitor Klasa. Ustawianie DistributionDBName(), PublisherName(), PublicationDBName(), a Name() właściwości publikacja i zestaw ConnectionContext() Właściwość ServerConnection utworzony w kroku 1. Wywołanie LoadProperties() Metoda uzyskać właściwości obiektu. Jeśli ta metoda zwraca false, albo właściwości publikacja zostały niepoprawnie określone publikacja nie istnieje lub nie.

    • Z PublicationMonitorCollection dostępne poprzez PublicationMonitors() właściwość istniejącej PublisherMonitor obiekt.

  3. wykonać TransPendingCommandInfo(String, String, SubscriptionOption) Metoda, która zwraca PendingCommandInfo obiekt.

  4. Użyj tej właściwości PendingCommandInfo obiekt, aby określić szacowaną liczbę oczekujących poleceń i czas potrzebny do zakończenia dostawy z tych poleceń.

Aby zestaw progi ostrzeżenie monitora dla publikacja

  1. Utwórz połączenie dystrybutor przy użyciu ServerConnection Klasa.

  2. Uzyskiwanie PublicationMonitor obiekt w jednym z tych metod.

    • Utworzenie wystąpienie PublicationMonitor Klasa. Ustawianie DistributionDBName(), PublisherName(), PublicationDBName(), a Name() właściwości publikacja i zestaw ConnectionContext() Właściwość ServerConnection utworzony w kroku 1. Wywołanie LoadProperties() Metoda uzyskać właściwości obiektu. Jeśli ta metoda zwraca false, albo właściwości publikacja zostały niepoprawnie określone publikacja nie istnieje lub nie.

    • Z PublicationMonitorCollection dostępne poprzez PublicationMonitors() właściwość istniejącej PublisherMonitor obiekt.

  3. wykonać EnumMonitorThresholds() Metoda. Należy zwrócić uwagę, bieżących ustawień progu w zwrócona ArrayList z MonitorThreshold obiekty.

  4. wykonać ChangeMonitorThreshold(Int32, Boolean, Int32, Int32) Metoda. Przekazywanie następujących parametrów:

    • metricID - Int32 wartość, która reprezentuje monitorowania metryki próg z poniższej tabela:

      Wartość

      Description

      1

      expiration -monitorów do bezpośredniego wygaśnięcia subskrypcji do publikacji w transakcyjnych.

      2

      latency -monitorów do wykonywania subskrypcji do publikacji w transakcyjnych.

      4

      mergeexpiration -monitorów do bezpośredniego wygaśnięcia subskrypcji do scalania publikacji.

      5

      mergeslowrunduration -monitoruje czas trwania synchronizacji korespondencji seryjnej dostępne za pośrednictwem połączeń o niskiej przepustowości (telefoniczny).

      6

      mergefastrunduration -monitoruje czas trwania synchronizacji korespondencji seryjnej przez połączenia o dużej przepustowości (LAN).

      7

      mergefastrunspeed -monitoruje częstotliwość synchronizacji korespondencji seryjnej synchronizacji za pośrednictwem połączeń o dużej przepustowości (LAN).

      8

      mergeslowrunspeed -monitoruje częstotliwość synchronizacji korespondencji seryjnej synchronizacji za pośrednictwem połączeń o niskiej przepustowości (telefoniczny).

    • enable - Boolean wartość, która wskazuje, czy metryka jest włączone dla danej publikacja.

    • thresholdValue -wartość całkowitą, która ustawia rozgraniczanie.

    • shouldAlert -Liczba całkowita, która wskazuje, czy ten próg powinien generować alert.