Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Managed Instance
Replikační monitor je grafický nástroj, který umožňuje sledovat replikační topologii. Ke stejným monitorovacím datům můžete přistupovat programovaně pomocí Transact-SQL uložených procedur pro replikaci nebo objektů pro správu replikace (RMO). Tyto objekty vám umožňují programovat následující úkoly:
Sledujte stav vydavatelů, publikací a předplatitelství.
Sledujte relace Merge Agent u jednoho nebo více odběratelů.
Sledujte transakční příkazy čekající na aplikaci u jednoho nebo více odběratelů.
Definujte prahové metriky, které určují, kdy publikace vyžaduje zásah.
Sledujte stav tracer tokenů.
Transact-SQL
Sledovat vydavatele, publikace a předplatné od distributora
Na serveru Distributor v databázi distribuce spusťte sp_replmonitorhelppublisher. To vrací monitorovací informace pro všechny vydavatele používající tohoto distributora. Pro omezení výsledků na jednoho Publisher zadejte @publisher.
U distributora v distribuční databázi proveďte sp_replmonitorhelppublication. To vrací monitorovací informace pro všechny publikace využívající tohoto distributora. Pro omezení množiny výsledků na jednu Publisher, publikaci nebo publikovanou databázi uveďte @publisher, @publication nebo @publisher_db.
U distributora v distribuční databázi proveďte sp_replmonitorhelpsubscription. To vrací monitorovací informace pro všechna předplatná používající tohoto distributora. Chcete-li omezit sadu výsledků na odběry patřící jednomu vydavateli, jedné publikaci nebo jedné publikované databázi, zadejte postupně @publisher, @publication nebo @publisher_db.
Monitorovat transakční příkazy čekající na provedení u odběratele
- Na distributoru v distribuční databázi spusťte sp_replmonitorsubscriptionpendingcmds. Vrátí monitorovací informace o všech čekajících příkazech pro všechna předplatná využívající tohoto Distributora. Chcete-li omezit množinu výsledků na příkazy čekající pro předplatná náležející jednomu Publisheru, jednomu Subscriberu, jedné publikaci nebo jedné publikované databázi, zadejte postupně @publisher, @subscriber, @publication nebo @publisher_db.
Pro sledování změn při sloučení, které čekají na nahrání nebo stažení
Na serveru Publisher v publikační databázi spusťte sp_showpendingchanges. Tím se vrátí sada výsledků zobrazující informace o změnách, které čekají na replikaci předplatitelům. Pro omezení množiny výsledků na změny, které patří k jedné publikaci nebo článku, uveďte @publication nebo @article.
Na odběrateli v databázi odběru spusťte sp_showpendingchanges. Tímto se vrátí sada výsledků obsahující informace o změnách, které čekají na replikaci do publikátoru. Pro omezení množiny výsledků na změny, které patří k jedné publikaci nebo článku, uveďte @publication nebo @article.
Pro sledování relací Merge Agent
Na Distributoru v distribuční databázi spusťte sp_replmonitorhelpmergesession. Vrací monitorovací informace včetně Session_id o všech relacích Merge Agenta pro všechna předplatná používající tohoto distributora. Můžete také získat Session_id dotazováním do tabulky MSmerge_sessions systému.
Na serveru Distributor v distribuční databázi spusťte sp_replmonitorhelpmergesessiondetail. Zadejte hodnotu Session_id z kroku 1 pro @session_id. Zobrazuje podrobné informace o sezení z monitoru.
Opakujte krok 2 pro každou zajímavou seanci.
Pro sledování relací Merge Agent kvůli stažení odběrů od Subscriber
U odběratele v databázi předplatného spusťte sp_replmonitorhelpmergesession. Pro dané předplatné uveďte @publisher, @publication a název databáze publikací pro @publisher_db. To vrací monitorovací informace za posledních pět relací Merge Agent pro toto předplatné. Všimněte si hodnoty Session_id pro relace, které vás zajímají ve výsledné množině.
Na odběrateli v databázi předplatného spusťte sp_replmonitorhelpmergesessiondetail. Zadejte hodnotu Session_id z kroku 1 pro @session_id. Zobrazuje podrobné monitorovací informace o relaci.
Opakujte krok 2 pro každou zajímavou seanci.
Pro zobrazení a úpravu metrik monitorovacích prahových hodnot pro publikaci
Na distributorovi v distribuční databázi spusťte sp_replmonitorhelppublicationthresholds. Tím se vrátí monitorovací prahy nastavené pro všechny publikace využívající tohoto distributora. Chcete-li omezit sadu výsledků pro prahové hodnoty monitoru na publikace patřící jednomu vydavateli nebo jedné publikované databázi, případně na jednu publikaci, zadejte @publisher, @publisher_db nebo @publication. Všimněte si hodnoty Metric_id pro jakékoli prahy, které je třeba změnit. Další informace naleznete v tématu Nastavení prahových hodnot a upozornění v nástroji Monitor replikace.
Na Distributoru v distribuční databázi spusťte sp_replmonitorchangepublicationthreshold. Uveďte následující podle potřeby:
Hodnota Metric_id získaná v kroku 1 pro @metric_id.
Nová hodnota metriky prahové hodnoty monitorování pro @value.
Hodnota 1 pro @shouldalert pro upozornění, které má být zaznamenáno při dosažení tohoto prahu, nebo hodnota 0 , pokud upozornění není potřeba.
Hodnota 1 pro @mode pro povolení prahové metriky monitoru nebo hodnota 2 pro její deaktivaci.
Objekty správy replikace (RMO)
Chcete-li sledovat odběr publikace se slučováním u odběratele
Vytvořte připojení k odběrateli pomocí ServerConnection třídy.
Vytvořte instanci třídy MergeSubscriberMonitor, nastavte pro předplatné vlastnosti Publisher, Publication, PublisherDB a SubscriberDB a vlastnost ConnectionContext nastavte na ServerConnection vytvořenou v kroku 1.
Zavolejte na jednu z následujících metod pro vrácení informací o relacích Merge Agent pro toto předplatné:
GetSessionsSummary - vrací pole objektů MergeSessionSummary s informacemi o nejvýše pěti posledních relacích Merge Agent. Všimněte si SessionId hodnoty u jakýchkoli zajímavých sezení.
GetSessionsSummary- vrací pole MergeSessionSummary objektů s informacemi o relacích Merge Agent, které proběhly během uplynulých hodin, jako parametr hodin (až do posledních pěti relací). Všimněte si SessionId hodnoty u jakýchkoli zajímavých sezení.
GetLastSessionSummary - vrací objekt MergeSessionSummary s informacemi o poslední relaci agenta Merge. Všimněte si SessionId hodnoty této lekce.
GetSessionsSummaryDataSet- vrací DataSet objekt s informacemi o až posledních pěti relacích Merge Agent, jednu v každém řádku. Všimněte si hodnoty sloupce Session_id pro jakékoli zajímavé sezení.
GetLastSessionSummaryDataRow - vrací objekt DataRow s informacemi o poslední relaci agenta Merge. Všimněte si hodnoty sloupce Session_id pro tuto lekci.
(Volitelné) Volejte RefreshSessionSummary pro obnovení dat pro objekt předávaný MergeSessionSummary jako mss, nebo volejte RefreshSessionSummary pro obnovení dat v objektu předaném DataRow jako drRefresh.
Pomocí ID relace získané v kroku 3 zavolejte jednu z následujících metod pro vrácení informací o detailech konkrétní relace:
GetSessionDetails - vrací pole MergeSessionDetail objektů pro dodaný SessionId.
GetSessionDetailsDataSet - vrací DataSet objekt s informacemi pro specifikované SessionId.
Monitorování replikačních vlastností všech publikací u distributora
Vytvořte připojení k distributoru pomocí ServerConnection třídy.
Vytvořte instanci ReplicationMonitor třídy.
Nastavte vlastnost ConnectionContext na ServerConnection, která byla vytvořena v kroku 1.
Zavolejte metodu LoadProperties pro získání vlastností objektu.
Provést jednu nebo více z následujících metod pro vrácení replikačních informací všem vydavatelům, kteří tohoto distributora používají.
EnumDistributionAgents - vrací DataSet objekt obsahující informace o všech distribučních agentech u tohoto distributora.
EnumErrorRecords - vrací objekt, DataSet který obsahuje informace o chybách uložených u distributora.
EnumLogReaderAgents - vrací objekt, DataSet který obsahuje informace o všech agentech Log Reader u distributora.
EnumMergeAgents – vrací objekt DataSet, který obsahuje informace o všech agentech slučování na Distributoru.
EnumMiscellaneousAgents - vrací objekt, DataSet který obsahuje informace o všech ostatních replikačních agentech u distributora.
EnumPublishers - vrací DataSet objekt obsahující informace o všech vydavatelích u tohoto distributora.
EnumPublishers2 - vrací objekt, DataSet který vrací vydavatele, kteří tohoto distributora používají.
EnumQueueReaderAgents - vrací objekt DataSet, který obsahuje informace o všech agentech pro čtení fronty v distributorovi.
EnumQueueReaderAgentSessionDetails - vrací objekt, DataSet který obsahuje podrobnosti o specifikovaném agentovi Queue Reader a relaci.
EnumQueueReaderAgentSessions – vrací objekt DataSet, který obsahuje informace o relaci zadaného agenta Queue Reader.
EnumSnapshotAgents - vrací objekt, DataSet který obsahuje informace o všech Snapshot agentech u distributora.
Monitorovat vlastnosti publikace pro konkrétního vydavatele u distributora
Vytvořte připojení k distributoru pomocí ServerConnection třídy.
Získejte PublisherMonitor předmět jedním z těchto způsobů.
Vytvořte instanci PublisherMonitor třídy. Nastavte vlastnost Name u Publisheru a vlastnost ConnectionContext nastavte na ServerConnection vytvořenou v kroku 1. Zavolejte metodu LoadProperties pro získání vlastností objektu. Pokud tato metoda vrací nepravdivé, buď bylo jméno Publisher definováno nesprávně, nebo publikace neexistuje.
Z PublisherMonitorCollection, ke kterému se přistupuje prostřednictvím vlastnosti PublisherMonitors existujícího objektu ReplicationMonitor.
Proveďte jednu nebo více z následujících metod pro vrácení replikačních informací pro všechny publikace, které patří tomuto Publisher.
EnumDistributionAgentSessionDetails - vrací objekt DataSet, který obsahuje podrobnosti o zadaném agentu Distribution Agent a relaci.
EnumDistributionAgentSessions - vrací DataSet objekt, který obsahuje informace o relaci zadaného agenta distribuce.
EnumErrorRecords – vrací objekt DataSet, který obsahuje informace o záznamu chyby pro zadanou chybu.
EnumLogReaderAgentSessionDetails - vrací objekt, DataSet který obsahuje podrobnosti o specifikovaném Log Reader Agentovi a relaci.
EnumLogReaderAgentSessions – vrací objekt DataSet, který obsahuje informace o relaci pro zadaného agenta Log Reader.
EnumMergeAgentSessionDetails - vrací objekt DataSet, který obsahuje podrobnosti o zadaném agentu Merge Agent a relaci.
EnumMergeAgentSessionDetails2 - vrací objekt DataSet, který obsahuje další podrobnosti o zadaném Agentu sloučení a relaci.
EnumMergeAgentSessions - vrací objekt DataSet, který obsahuje informace o relaci pro zadaného agenta Merge.
EnumMergeAgentSessions2 - vrací objekt DataSet, který obsahuje další informace o relaci pro zadaného agenta sloučení.
EnumPublications - vrací DataSet objekt obsahující informace o všech publikacích u tohoto distributora.
EnumPublications2 - vrací DataSet objekt obsahující další informace o všech publikacích u tohoto distributora.
EnumSnapshotAgentSessionDetails - vrací objekt DataSet, který obsahuje podrobnosti o zadaném agentu Snapshot Agent a relaci.
EnumSnapshotAgentSessions - vrací objekt DataSet, který obsahuje informace o relaci pro zadaného agenta Snapshot Agent.
EnumSubscriptions - vrací DataSet objekt obsahující informace o všech předplatných publikací u tohoto distributora.
Monitorování vlastností pro konkrétní publikaci u distributora
Vytvořte připojení k distributoru pomocí ServerConnection třídy.
Získejte PublicationMonitor předmět jedním z těchto způsobů.
Vytvořte instanci PublicationMonitor třídy. Nastavte DistributionDBName, PublisherName, PublicationDBName, a Name vlastnosti pro publikaci a vlastnost ConnectionContext nastavte na vytvořené ServerConnection v kroku 1. Zavolejte metodu LoadProperties pro získání vlastností objektu. Pokud tato metoda vrací nepravdivé, buď byly vlastnosti publikace definovány nesprávně, nebo publikace neexistuje.
Z PublicationMonitorCollection, ke kterému se přistupuje prostřednictvím vlastnosti PublicationMonitors existujícího objektu PublisherMonitor.
Použijte jeden nebo více z následujících metod, jak získat informace o této publikaci.
EnumErrorRecords - vrací objekt, DataSet který obsahuje chybové záznamy o dané chybě.
EnumLogReaderAgent - vrací DataSet objekt obsahující informace o Log Reader Agentovi pro tuto publikaci.
EnumMonitorThresholds - vrací DataSet objekt obsahující informace o varovných prahech monitoru nastavených pro tuto publikaci.
EnumQueueReaderAgent – vrací objekt DataSet, který obsahuje informace o agentu Queue Reader používaném pro tuto publikaci.
EnumSnapshotAgent - vrací objekt DataSet, který obsahuje informace o agentu Snapshot Agent pro tuto publikaci.
EnumSubscriptions - vrací DataSet objekt obsahující informace o předplatném této publikace.
EnumSubscriptions2 - vrací objekt, DataSet který obsahuje další informace o předplatném této publikace na základě poskytnutého SubscriptionResultOption.
EnumTracerTokenHistory - vrací objekt, DataSet který obsahuje informace o latenci pro specifikovaný tracer token.
EnumTracerTokens - vrací objekt, DataSet který obsahuje informace o všech tracer tokenech vložených do této publikace.
Monitorování transakčních příkazů, které čekají na aplikaci u odběratele
Vytvořte připojení k distributoru pomocí ServerConnection třídy.
Získejte PublicationMonitor předmět jedním z těchto způsobů.
Vytvořte instanci PublicationMonitor třídy. Nastavte DistributionDBName, PublisherName, PublicationDBName, a Name vlastnosti pro publikaci a vlastnost ConnectionContext nastavte na vytvořené ServerConnection v kroku 1. Zavolejte metodu LoadProperties pro získání vlastností objektu. Pokud tato metoda vrací nepravdivé, buď byly vlastnosti publikace definovány nesprávně, nebo publikace neexistuje.
Z PublicationMonitorCollection prostřednictvím vlastnosti PublicationMonitors existujícího objektu PublisherMonitor.
Spuskutěte metodu TransPendingCommandInfo , která vrátí PendingCommandInfo objekt.
Použijte vlastnosti tohoto PendingCommandInfo objektu k určení odhadovaného počtu čekajících příkazů a délky trvání jejich doručení.
Nastavit prahové hodnoty upozornění pro monitorování publikace
Vytvořte připojení k distributoru pomocí ServerConnection třídy.
Získejte PublicationMonitor předmět jedním z těchto způsobů.
Vytvořte instanci PublicationMonitor třídy. Nastavte DistributionDBName, PublisherName, PublicationDBName, a Name vlastnosti pro publikaci a vlastnost ConnectionContext nastavte na vytvořené ServerConnection v kroku 1. Zavolejte metodu LoadProperties pro získání vlastností objektu. Pokud tato metoda vrací nepravdivé, buď byly vlastnosti publikace definovány nesprávně, nebo publikace neexistuje.
Z PublicationMonitorCollection, ke kterému se přistupuje prostřednictvím vlastnosti PublicationMonitors existujícího objektu PublisherMonitor.
Proveďte metodu EnumMonitorThresholds . Všimněte si aktuálního nastavení prahových hodnot ve vrácené sadě ArrayList objektů MonitorThreshold.
Proveďte metodu ChangeMonitorThreshold . Splňte následující parametry:
metricID – hodnota Int32 , která představuje metriku monitorovacího prahu z následující tabulky:
Value Description 1 Expirace – Sleduje blížící se vypršení předplatného transakčních publikací. 2 Latence – monitoruje výkon předplatného transakčních publikací. 4 Mergeexpiration – monitoruje blížící se vypršení předplatného na sloučení publikací. 5 mergeslowrunduration – sleduje dobu trvání slučovacích synchronizací přes připojení s nízkou šířkou pásma (dial-up). 6 mergefastrunduration – sleduje dobu trvání synchronizací sloučení přes vysokorychlostní připojení (LAN). 7 mergefastrunspeed – monitoruje synchronizační rychlost slučování přes vysokokapacitní (LAN) připojení. 8 mergeslowrunspeed – monitoruje synchronizační rychlost slučování přes nízkopropustné (dialup) připojení. povoleno - Boolean hodnota označující, zda je metrika u publikace povolena.
thresholdValue – celočíselná hodnota, která určuje prah.
shouldAlert – celé číslo, které určuje, zda by tento práh měl generovat upozornění.