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
Azure SQL Managed Instance
Monitor replikacji to narzędzie graficzne, które pozwala monitorować topologię replikacji. Możesz programowo uzyskać dostęp do tych samych danych monitorowania, korzystając z procedur składowanych replikacji języka Transact-SQL lub obiektów zarządzania replikacją (RMO). Te obiekty pozwalają programować następujące zadania:
Monitoruj stan wydawców, publikacji i subskrypcji.
Monitoruj sesje Merge Agent na jednym lub kilku subskrybentach.
Monitoruj polecenia transakcyjne oczekujące na wdrożenie u jednego lub więcej Subskrybentów.
Określ progowe metryki decydujące o tym, kiedy publikacja wymaga interwencji.
Monitoruj status tokenów śledzących.
Transact-SQL
Monitorować wydawców, publikacje i subskrypcje u dystrybutora
Na dystrybutorze w bazie dystrybucji wykonaj sp_replmonitorhelppublisher. To zwraca informacje monitorowania dla wszystkich Wydawców korzystających z tego Dystrybutora. Aby ograniczyć zestaw wyników do jednego Publisher, podaj @publisher.
Na serwerze Dystrybutora, w bazie danych dystrybucji, wykonaj sp_replmonitorhelppublication. Zwraca informacje o monitorowaniu dla wszystkich publikacji korzystających z tego Dystrybutora. Aby ograniczyć zestaw wyników do jednego wydawcy, publikacji lub opublikowanej bazy danych, należy określić odpowiednio @publisher, @publication lub @publisher_db.
Na dystrybutorze w bazie dystrybucji wykonaj sp_replmonitorhelpsubscription. Zwraca ona informacje monitorujące wszystkie subskrypcje korzystające z tego dystrybutora. Aby ograniczyć zestaw wyników do subskrypcji należących do jednego wydawcy, jednej publikacji lub jednej opublikowanej bazy danych, należy określić odpowiednio @publisher, @publication lub @publisher_db.
Monitorowanie poleceń transakcyjnych oczekujących na wdrożenie u abonenta
- Na serwerze Dystrybutora, w bazie danych dystrybucji, wykonaj sp_replmonitorsubscriptionpendingcmds. To zwraca informacje o monitorowaniu wszystkich poleceń oczekujących na wykonanie dla wszystkich subskrypcji korzystających z tego Dystrybutora. Aby ograniczyć zestaw wyników do poleceń oczekujących dla subskrypcji należących do jednego wydawcy, subskrybenta, publikacji lub publikowanej bazy danych, określ odpowiednio @publisher, @subscriber, @publication lub @publisher_db.
Monitorować zmiany związane ze scalaniem oczekujące na przesłanie lub pobranie
Na serwerze Publisher w bazie danych publikacji wykonaj sp_showpendingchanges. Zwraca to zestaw wyników pokazujący informacje o zmianach, które czekają na replikację dla Subskrybentów. Aby ograniczyć zestaw wyników do zmian dotyczących pojedynczej publikacji lub artykułu, określ odpowiednio @publication lub @article.
Na poziomie Subskrybera w bazie subskrypcji wykonaj sp_showpendingchanges. Zwraca zestaw wyników zawierający informacje o zmianach oczekujących na replikację do Publikatora. Aby ograniczyć zestaw wyników do zmian dotyczących pojedynczej publikacji lub artykułu, określ odpowiednio @publication lub @article.
Monitorowanie sesji Merge Agent
Na dystrybutorze w bazie dystrybucji wykonaj sp_replmonitorhelpmergesession. Zwraca ona informacje monitorujące, w tym Session_id, dotyczące wszystkich Merge Agent sesji wszystkich subskrypcji korzystających z tego Dystrybutora. Możesz też uzyskać wartość Session_id, wykonując zapytanie do tabeli systemowej MSmerge_sessions.
W programie Dystrybutor, w bazie danych dystrybucyjnej, wykonaj sp_replmonitorhelpmergesessiondetail. Określ wartość Session_id z kroku 1 dla @session_id. Wyświetla szczegółowe informacje z monitora dotyczące sesji.
Powtarzaj krok 2 dla każdej interesującej Cię sesji.
Monitorowanie sesji Merge Agent pod kątem pobierania subskrypcji od Subskrybenta
Na serwerze Subskrybenta, w bazie danych subskrypcji, wykonaj sp_replmonitorhelpmergesession. Dla danej subskrypcji należy określić @publisher, @publication oraz nazwę bazy danych publikacji dla @publisher_db. To zwraca dane monitorujące z ostatnich pięciu sesji Merge Agent w ramach tej subskrypcji. Zwróć uwagę na wartość Session_id dla sesji interesujących w zbiorze wyników.
Na stronie Subskrybera w bazie subskrypcji wykonaj sp_replmonitorhelpmergesessiondetail. Określ wartość Session_id z kroku 1 dla @session_id. Wyświetla on szczegółowe informacje monitorujące sesję.
Powtarzaj krok 2 dla każdej interesującej Cię sesji.
Przeglądanie i modyfikowanie progowych metryk monitorowania publikacji
Na serwerze Dystrybutora, w bazie danych dystrybucji, wykonaj sp_replmonitorhelppublicationthresholds. Zwraca to progi monitoringu ustawione dla wszystkich publikacji korzystających z tego Dystrybutora. Aby ograniczyć zestaw wyników do progów monitora dla publikacji należących odpowiednio do jednego Wydawcy, jednej opublikowanej bazy danych lub jednej publikacji, określ @publisher, @publisher_db lub @publication. Zwróć uwagę na wartość Metric_id dla wszelkich progów, które muszą zostać zmienione. Aby uzyskać więcej informacji, zobacz Ustawianie progów i ostrzeżeń w monitorze replikacji.
Na serwerze Dystrybutora, w bazie danych dystrybucji, wykonaj sp_replmonitorchangepublicationthreshold. W razie potrzeby określ następujące kwestie:
Wartość Metric_id uzyskana w kroku 1 dla @metric_id.
Nowa wartość metryki progowej monitora dla @value.
Wartość 1 dla parametru @shouldalert oznacza, że po osiągnięciu tego progu zostanie zarejestrowany alarm, lub wartość 0, jeśli alarm nie jest potrzebny.
Wartość 1 dla @mode do włączenia metryki progowej monitora lub wartość 2 do jej wyłączenia.
Obiekty zarządzania replikacją (RMO)
Aby monitorować subskrypcję publikacji scalanej u subskrybenta
Utwórz połączenie z subskrybentem przy użyciu ServerConnection klasy .
Utwórz instancję klasy MergeSubscriberMonitor i ustaw właściwości Publisher, Publication, PublisherDB i SubscriberDB dla subskrypcji, a następnie ustaw właściwość ConnectionContext na wartość ServerConnection utworzoną w kroku 1.
Zadzwoń do jednej z następujących metod, aby zwrócić informacje o sesjach Merge Agent w ramach tej subskrypcji:
GetSessionsSummary- zwraca tablicę obiektów MergeSessionSummary z informacjami o maksymalnie pięciu ostatnich sesjach Merge Agent. Zanotuj wartość SessionId dla interesujących Cię sesji.
GetSessionsSummary - zwraca tablicę obiektów MergeSessionSummary, zawierających informacje o sesjach agenta Merge Agent, które miały miejsce w ciągu ostatniej liczby godzin określonej przez parametr hours (maksymalnie pięć ostatnich sesji). Zanotuj wartość SessionId dla wszelkich interesujących Cię sesji.
GetLastSessionSummary- zwraca MergeSessionSummary obiekt z informacjami o ostatniej sesji Merge Agent. Zwróć uwagę na wartość SessionId dla tej sesji.
GetSessionsSummaryDataSet- zwraca DataSet obiekt z informacjami o maksymalnie pięciu ostatnich sesjach Merge Agent, po jednej w każdym wierszu. Zwróć uwagę na wartość kolumny Session_id dla wszystkich interesujących sesji.
GetLastSessionSummaryDataRow- zwraca DataRow obiekt z informacjami o ostatniej sesji Merge Agent. Zwróć uwagę na wartość kolumny Session_id dla tej sesji.
(Opcjonalnie) Wywołaj odświeżenie danych dla obiektu przekazanego MergeSessionSummary jako mss lub wywołaj RefreshSessionSummaryRefreshSessionSummary odświeżenie danych w obiekcie przekazanym DataRow jako drRefresh.
Korzystając z identyfikatora sesji uzyskanego w kroku 3, wywołaj jedną z następujących metod, aby zwrócić informacje o szczegółach konkretnej sesji:
GetSessionDetails - zwraca tablicę obiektów MergeSessionDetail dla dostarczonego SessionId.
GetSessionDetailsDataSet — zwraca obiekt DataSet zawierający informacje dla określonego identyfikatora SessionId.
Monitorowanie właściwości replikacji dla wszystkich publikacji w dystrybutorze
Utwórz połączenie z dystrybutorem przy użyciu klasy ServerConnection.
Utwórz wystąpienie klasy ReplicationMonitor.
Ustaw właściwość ConnectionContext na utworzoną ServerConnection w kroku 1.
Wywołaj metodę LoadProperties, aby uzyskać właściwości obiektu.
Wykonaj jedną lub więcej z poniższych metod, aby zwrócić informacje o replikacji dla wszystkich wydawców korzystających z tego dystrybutora.
EnumDistributionAgents - zwraca DataSet obiekt zawierający informacje o wszystkich agentach dystrybucyjnych u tego dystrybutora.
EnumErrorRecords - zwraca DataSet obiekt zawierający informacje o błędach przechowywanych w Dystrybutorze.
EnumLogReaderAgents - zwraca DataSet obiekt zawierający informacje o wszystkich Agentach Log Reader u Dystrybutora.
EnumMergeAgents — zwraca obiekt DataSet, który zawiera informacje o wszystkich agentach scalania na Dystrybutorze.
EnumMiscellaneousAgents - zwraca DataSet obiekt zawierający informacje o wszystkich innych agentach replikacyjnych w Dystrybutorze.
EnumPublishers - zwraca DataSet obiekt zawierający informacje o wszystkich Wydawcach u tego dystrybutora.
EnumPublishers2 - zwraca obiekt, DataSet który zwraca wydawców korzystających z tego dystrybutora.
EnumQueueReaderAgents — zwraca obiekt DataSet zawierający informacje o wszystkich agentach czytnika kolejki w Dystrybutorze.
EnumQueueReaderAgentSessionDetails - zwraca DataSet obiekt zawierający szczegóły dotyczące określonego agenta Queue Reader i sesji.
EnumQueueReaderAgentSessions — zwraca obiekt DataSet, który zawiera informacje o sesji określonego agenta Queue Reader Agent.
EnumSnapshotAgents - zwraca DataSet obiekt zawierający informacje o wszystkich agentach Snapshot u Dystrybutora.
Monitorować właściwości publikacji dla określonego wydawcy u dystrybutora
Utwórz połączenie z dystrybutorem przy użyciu klasy ServerConnection.
Uzyskaj PublisherMonitor obiekt na jeden z tych sposobów.
Utwórz wystąpienie klasy PublisherMonitor. Ustaw właściwość Name dla publikatora i ustaw właściwość ConnectionContext na ServerConnection utworzoną w kroku 1. Wywołaj metodę LoadProperties, aby uzyskać właściwości obiektu. Jeśli ta metoda zwraca false, albo nazwa Publisher została zdefiniowana nieprawidłowo, albo publikacja nie istnieje.
Z obiektu PublisherMonitorCollection, do którego uzyskano dostęp za pomocą właściwości PublisherMonitors istniejącego obiektu ReplicationMonitor.
Wykonaj jedną lub więcej z poniższych metod, aby uzyskać informacje o replikacji dla wszystkich publikacji należących do tego Publikatora.
EnumDistributionAgentSessionDetails - zwraca obiekt DataSet, który zawiera szczegóły dotyczące określonego Agenta dystrybucji i sesji.
EnumDistributionAgentSessions - zwraca obiekt DataSet, który zawiera informacje o sesji określonego Agenta dystrybucji.
EnumErrorRecords - zwraca DataSet obiekt zawierający informacje o rekordzie błędu dotyczącym określonego błędu.
EnumLogReaderAgentSessionDetails - zwraca DataSet obiekt zawierający szczegóły dla określonego Agenta Log Reader oraz sesji.
EnumLogReaderAgentSessions - zwraca DataSet obiekt zawierający informacje o sesji dla określonego Agenta Czytnika Logów.
EnumMergeAgentSessionDetails — zwraca obiekt DataSet, który zawiera szczegóły o określonym agencie scalania i sesji.
EnumMergeAgentSessionDetails2 - zwraca obiekt DataSet, który zawiera dodatkowe informacje o określonym agencie scalania i sesji.
EnumMergeAgentSessions- zwraca DataSet obiekt zawierający informacje o sesji dla określonego Merge Agent.
EnumMergeAgentSessions2 - zwraca obiekt DataSet, który zawiera dodatkowe informacje o sesji dla wskazanego agenta scalania.
EnumPublications - zwraca DataSet obiekt zawierający informacje o wszystkich publikacjach w tym Dystrybutorze.
EnumPublications2 - zwraca DataSet obiekt zawierający dodatkowe informacje o wszystkich publikacjach u tego Dystrybutora.
EnumSnapshotAgentSessionDetails - zwraca obiekt DataSet, który zawiera szczegóły dotyczące określonego agenta Snapshot Agent i sesji.
EnumSnapshotAgentSessions- zwraca DataSet obiekt zawierający informacje o sesji dla określonego Snapshot Agent.
EnumSubscriptions - zwraca DataSet obiekt zawierający informacje o wszystkich subskrypcjach publikacji u tego Dystrybutora.
Monitorowanie właściwości dla konkretnej publikacji u Dystrybutora
Utwórz połączenie z dystrybutorem przy użyciu klasy ServerConnection.
Uzyskaj PublicationMonitor obiekt na jeden z tych sposobów.
Utwórz wystąpienie klasy PublicationMonitor. Ustaw właściwości DistributionDBName, PublisherName, PublicationDBName i Name dla publikacji, a właściwość ConnectionContext ustaw na ServerConnection utworzoną w kroku 1. Wywołaj metodę LoadProperties, aby uzyskać właściwości obiektu. Jeśli ta metoda zwraca false, albo właściwości publikacji zostały zdefiniowane nieprawidłowo, albo publikacja nie istnieje.
Z obiektu PublicationMonitorCollection, do którego uzyskano dostęp za pomocą właściwości PublicationMonitors istniejącego obiektu PublisherMonitor.
Wykonaj jeden lub więcej z poniższych metod, aby zwrócić informacje o tej publikacji.
EnumErrorRecords - zwraca DataSet obiekt zawierający rekordy błędów dotyczących określonego błędu.
EnumLogReaderAgent — zwraca obiekt DataSet, który zawiera informacje o agencie Log Reader dla tej publikacji.
EnumMonitorThresholds — zwraca obiekt DataSet, który zawiera informacje o progach ostrzegawczych monitorowania ustawionych dla tej publikacji.
EnumQueueReaderAgent - zwraca DataSet obiekt zawierający informacje o agencie Queue Reader używanym przez tę publikację.
EnumSnapshotAgent - zwraca obiekt DataSet, który zawiera informacje o Agencie migawki dla tej publikacji.
EnumSubscriptions - zwraca DataSet obiekt zawierający informacje o subskrypcjach tej publikacji.
EnumSubscriptions2 - zwraca DataSet obiekt zawierający dodatkowe informacje o subskrypcjach tej publikacji na podstawie dostarczonego SubscriptionResultOption.
EnumTracerTokenHistory - zwraca DataSet obiekt zawierający informacje o opóźnieniu dla określonego tokena śledzenia.
EnumTracerTokens - zwraca DataSet obiekt zawierający informacje o wszystkich tokenach tracerów wstawionych do tej publikacji.
Monitorowanie poleceń transakcyjnych czekających na wdrożenie u abonenta
Utwórz połączenie z dystrybutorem przy użyciu klasy ServerConnection.
Uzyskaj PublicationMonitor obiekt na jeden z tych sposobów.
Utwórz wystąpienie klasy PublicationMonitor. Ustaw właściwości DistributionDBName, PublisherName, PublicationDBName i Name dla publikacji, a właściwość ConnectionContext ustaw na ServerConnection utworzoną w kroku 1. Wywołaj metodę LoadProperties, aby uzyskać właściwości obiektu. Jeśli ta metoda zwraca false, albo właściwości publikacji zostały zdefiniowane nieprawidłowo, albo publikacja nie istnieje.
Z obiektu PublicationMonitorCollection, do którego uzyskano dostęp za pomocą właściwości PublicationMonitors istniejącego obiektu PublisherMonitor.
Wykonaj metodę TransPendingCommandInfo , która zwraca obiekt PendingCommandInfo .
Użyj właściwości tego PendingCommandInfo obiektu, aby określić szacowaną liczbę oczekujących poleceń oraz czas potrzebny na ich zakończenie.
Aby ustawić progi ostrzegawcze monitorowania dla publikacji
Utwórz połączenie z dystrybutorem przy użyciu klasy ServerConnection.
Uzyskaj PublicationMonitor obiekt na jeden z tych sposobów.
Utwórz wystąpienie klasy PublicationMonitor. Ustaw właściwości DistributionDBName, PublisherName, PublicationDBName i Name dla tej publikacji, a właściwość ConnectionContext ustaw na wartość ServerConnection utworzoną w kroku 1. Wywołaj metodę LoadProperties, aby uzyskać właściwości obiektu. Jeśli ta metoda zwraca false, albo właściwości publikacji zostały zdefiniowane nieprawidłowo, albo publikacja nie istnieje.
Z obiektu PublicationMonitorCollection, do którego uzyskano dostęp za pomocą właściwości PublicationMonitors istniejącego obiektu PublisherMonitor.
Wykonaj metodę EnumMonitorThresholds . Zwróć uwagę na aktualne ustawienia progu w zwróconej ArrayList liczbie MonitorThreshold obiektów.
Wykonaj metodę ChangeMonitorThreshold . Przekaż następujące parametry:
metricID – Int32 wartość reprezentująca metrykę progową monitorowania z poniższej tabeli:
Value Description 1 Wygaśnięcie – monitoruje zbliżające się wygaśnięcie subskrypcji publikacji transakcyjnych. 2 Opóźnienie – monitoruje wydajność subskrypcji publikacji transakcyjnych. 4 MergeExpiration – monitoruje nieuchronny wygaśnięcie subskrypcji w celu łączenia publikacji. 5 mergeslowrunduration – monitoruje czas trwania synchronizacji merge na połączeniach o niskiej przepustowości (dialup). 6 mergefastrunduration – monitoruje czas trwania synchronizacji scalania w połączeniach o dużej przepustowości (LAN). 7 mergefastrunspeed – monitoruje tempo synchronizacji scalającej w przypadku połączeń o dużej przepustowości (LAN). 8 mergeslowrunspeed – monitoruje szybkość synchronizacji podczas synchronizacji scalania w przypadku połączeń o niskiej przepustowości (dial-up). włączone - Boolean wartość wskazująca, czy metryka jest włączona dla publikacji.
thresholdValue – wartość całkowita ustalająca próg.
shouldAlert – liczba całkowita wskazująca, czy ten próg powinien generować alert.