Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Replication Monitor är ett grafiskt verktyg som låter dig övervaka en replikationstopologi. Du kan komma åt samma övervakningsdata programmatiskt genom att använda Transact-SQL replikeringslagrade procedurer eller replikeringshanteringsobjekt (RMO). Dessa objekt gör det möjligt för dig att programmera följande uppgifter:
Övervaka tillståndet för förlag, publikationer och prenumerationer.
Övervaka Merge Agent-sessioner hos en eller flera prenumeranter.
Övervaka transaktionella kommandon som väntar på att tillämpas på en eller flera prenumeranter.
Definiera tröskelmåtten som avgör när en publikation kräver intervention.
Övervaka statusen för spårningstoken.
Transact-SQL
För att övervaka förlag, publikationer och prenumerationer från distributören
På Distributören i distributionsdatabasen kör du sp_replmonitorhelppublisher. Detta ger övervakningsinformation för alla utgivare som använder denna distributör. För att begränsa resultatuppsättningen till en enda Publisher, ange @publisher.
På distributören i distributionsdatabasen kör du sp_replmonitorhelppublication. Detta returnerar övervakningsinformation för alla publikationer som använder denna distributör. För att begränsa resultatuppsättningen till en enda Publisher, publikation eller publicerad databas, ange @publisher, @publication eller @publisher_db, respektive.
På distributören i distributionsdatabasen, kör sp_replmonitorhelpsubscription. Detta returnerar övervakningsinformation för alla prenumerationer som använder denna distributör. För att begränsa resultatuppsättningen till prenumerationer som tillhör en enda Publisher, publikation eller publicerad databas, ange @publisher, @publication eller @publisher_db, respektive.
För att övervaka transaktionella kommandon som väntar på att tillämpas hos prenumeranten
- På Distributören i distributionsdatabasen kör du sp_replmonitorsubscriptionpendingcmds. Detta returnerar övervakningsinformation för alla kommandon som väntar för alla prenumerationer som använder denna distributör. För att begränsa resultatuppsättningen till kommandon som väntar på prenumerationer som tillhör en enskild Publisher, prenumerant, publikation eller publicerad databas, ange @publisher, @subscriber, @publication eller @publisher_db, respektive.
För att övervaka sammanslagningsändringar som väntar på att laddas upp eller laddas ner
På Publisher på publiceringsdatabasen kör du sp_showpendingchanges. Detta returnerar en resultatuppsättning som visar information om ändringar som väntar på att replikeras till prenumeranter. För att begränsa resultatuppsättningen till ändringar som tillhör en enskild publikation eller artikel, specificera @publication respektive @article.
På en prenumerant i prenumerationsdatabasen, kör sp_showpendingchanges. Detta ger en resultatuppsättning som visar information om ändringar som väntar på att replikeras till Publisher. För att begränsa resultatuppsättningen till ändringar som tillhör en enskild publikation eller artikel, specificera @publication respektive @article.
För att övervaka Merge Agent-sessioner
På Distributorn i distributionsdatabasen kör du sp_replmonitorhelpmergesession. Detta returnerar övervakningsinformation, inklusive Session_id, för alla Merge Agent sessioner för alla prenumerationer som använder denna distributör. Du kan också få Session_id genom att söka i systemtabellen MSmerge_sessions .
På Distributorn i distributionsdatabasen kör du sp_replmonitorhelpmergesessiondetail. Ange ett Session_id värde från steg 1 för @session_id. Detta visar detaljerad monitorinformation om sessionen.
Upprepa steg 2 för varje intressant session.
För att övervaka Merge Agent-sessioner för att hämta prenumerationer från prenumeranten.
På prenumeranten i prenumerationsdatabasen kör du sp_replmonitorhelpmergesession. För en given prenumeration, ange @publisher, @publication och namnet på publikationsdatabasen för @publisher_db. Detta returnerar övervakningsinformation för de senaste fem Merge Agent-sessionerna för denna prenumeration. Notera värdet av Session_id för intressanta sessioner i resultatuppsättningen.
På prenumeranten i prenumerationsdatabasen kör du sp_replmonitorhelpmergesessiondetail. Ange ett Session_id värde från steg 1 för @session_id. Detta visar detaljerad övervakningsinformation om sessionen.
Upprepa steg 2 för varje intressant session.
Så här visar och ändrar du tröskelvärdena för övervakning för en publikation
Kör sp_replmonitorhelppublicationthresholds på distributören i distributionsdatabasen. Detta returnerar de övervakningströskelvärden som satts för alla publikationer som använder denna distributör. För att begränsa resultatuppsättningen till övervakningsgränser för publikationer som tillhör en enda Publisher eller publicerad databas eller till en enda publikation, specificera @publisher, @publisher_db eller @publication, respektive. Notera värdet av Metric_id för eventuella tröskelvärden som måste ändras. Mer information finns i Ange tröskelvärden och varningar i Replikeringsövervakaren.
På distributören i distributionsdatabasen, kör sp_replmonitorchangepublicationthreshold. Specificera följande vid behov:
Värdet Metric_id som erhålls i steg 1 för @metric_id.
Ett nytt värde för monitortröskelmetriken för @value.
Ett värde på 1 för @shouldalert för att en varning ska loggas när denna tröskel uppnås, eller ett värde på 0 om en varning inte behövs.
Ett värde på 1 för @mode för att aktivera övervakarens tröskelvärdesmått eller ett värde på 2 för att inaktivera det.
Replikationshanteringsobjekt (RMO)
För att övervaka en prenumeration på en sammanslagningspublikation på Prenumeranten
Skapa en anslutning till prenumeranten ServerConnection med hjälp av klassen .
Skapa en instans av klassen MergeSubscriberMonitor, och ange egenskaperna Publication, PublisherDB, SubscriberDB och Publisher för prenumerationen, och ange egenskapen ConnectionContext till den ServerConnection som skapades i steg 1.
Anropa en av följande metoder för att returnera information om Merge Agent-sessioner för denna prenumeration:
GetSessionsSummary- returnerar en array av MergeSessionSummary objekt med information om upp till de senaste fem Merge Agent-sessionerna. Notera SessionId värdet för eventuella intressanta sessioner.
GetSessionsSummary - returnerar en matris med MergeSessionSummary-objekt med information om Merge Agent-sessioner som har inträffat under det antal timmar som har angetts i parametern hours (upp till de fem senaste sessionerna). Notera SessionId värdet för eventuella intressanta sessioner.
GetLastSessionSummary- returnerar ett MergeSessionSummary objekt med information om den senaste Merge Agent-sessionen. Notera SessionId värdet för denna session.
GetSessionsSummaryDataSet- returnerar ett DataSet objekt med information om upp till de fem senaste Merge Agent-sessionerna, en i varje rad. Notera värdet på kolumnen Session_id för alla intressanta sessioner.
GetLastSessionSummaryDataRow- returnerar ett DataRow objekt med information om den senaste Merge Agent-sessionen. Notera värdet på kolumnen Session_id för denna session.
(Valfritt) Anropa RefreshSessionSummary för att uppdatera datan för objektet MergeSessionSummary som skickas som mss, eller anropa RefreshSessionSummary för att uppdatera datan i objektet DataRow som skickas som drRefresh.
Med att använda sessions-ID:t som erhållits i steg 3, anropa en av följande metoder för att returnera information om detaljerna för en viss session:
GetSessionDetails - returnerar en array med MergeSessionDetail-objekt för angivet SessionId.
GetSessionDetailsDataSet - returnerar ett DataSet objekt med information för den specificerade SessionId.
Att övervaka replikationsegenskaper för alla publikationer hos en distributör
Skapa en anslutning till distributören med hjälp av klassen ServerConnection.
Skapa en instans av ReplicationMonitor klassen.
Sätt egenskapen ConnectionContext till det ServerConnection som skapats i steg 1.
Anropa metoden LoadProperties för att hämta objektets egenskaper.
Kör en eller flera av följande metoder för att returnera replikationsinformation för alla utgivare som använder denna distributör.
EnumDistributionAgents - returnerar ett DataSet objekt som innehåller information om alla distributionsagenter hos denna distributör.
EnumErrorRecords - returnerar ett DataSet objekt som innehåller information om fel som lagrats hos distributören.
EnumLogReaderAgents - returnerar ett DataSet objekt som innehåller information om alla Log Reader Agents hos distributören.
EnumMergeAgents - returnerar ett DataSet objekt som innehåller information om alla Merge Agents hos Distributören.
EnumMiscellaneousAgents - returnerar ett DataSet objekt som innehåller information om alla andra replikationsagenter hos distributören.
EnumPublishers - returnerar ett DataSet objekt som innehåller information om alla utgivare hos denna distributör.
EnumPublishers2 - returnerar ett DataSet objekt som returnerar de utgivare som använder denna distributör.
EnumQueueReaderAgents - returnerar ett DataSet-objekt som innehåller information om alla Queue Reader-agenter vid distributören.
EnumQueueReaderAgentSessionDetails - returnerar ett DataSet objekt som innehåller detaljer om den specificerade Queue Reader Agent och sessionen.
EnumQueueReaderAgentSessions - returnerar ett DataSet objekt som innehåller sessionsinformation om den specificerade Queue Reader Agent.
EnumSnapshotAgents - returnerar ett DataSet objekt som innehåller information om alla Snapshot-agenter hos distributören.
För att övervaka publikationsegenskaper för en specifik Publisher hos distributören
Skapa en anslutning till distributören med hjälp av klassen ServerConnection.
Få ett PublisherMonitor föremål på ett av dessa sätt.
Skapa en instans av PublisherMonitor klassen. Ställ in egenskapen Name för Publisher, och ställ egenskapen ConnectionContext till den skapade ServerConnection i steg 1. Anropa metoden LoadProperties för att hämta objektets egenskaper. Om denna metod ger falskt, har antingen Publisher-namnet definierats felaktigt eller så existerar publikationen inte.
Från den PublisherMonitorCollection som nås via egenskapen PublisherMonitors hos ett befintligt ReplicationMonitor-objekt.
Kör en eller flera av följande metoder för att returnera replikationsinformation för alla publikationer som tillhör denna Publisher.
EnumDistributionAgentSessionDetails- returnerar ett DataSet objekt som innehåller detaljer om den specificerade Distribution Agent och sessionen.
EnumDistributionAgentSessions- returnerar ett DataSet objekt som innehåller sessionsinformation om den angivna Distribution Agent.
EnumErrorRecords - returnerar ett DataSet-objekt som innehåller felpostinformation om det angivna felet.
EnumLogReaderAgentSessionDetails - returnerar ett DataSet objekt som innehåller detaljer för den angivna Log Reader Agent och sessionen.
EnumLogReaderAgentSessions - returnerar ett DataSet objekt som innehåller sessionsinformation för den angivna Log Reader Agent.
EnumMergeAgentSessionDetails- returnerar ett DataSet objekt som innehåller detaljer om den angivna Merge Agent och sessionen.
EnumMergeAgentSessionDetails2- returnerar ett DataSet objekt som innehåller ytterligare detaljer om den specificerade Merge Agent och sessionen.
EnumMergeAgentSessions- returnerar ett DataSet objekt som innehåller sessionsinformation för den angivna Merge Agent.
EnumMergeAgentSessions2- returnerar ett DataSet objekt som innehåller ytterligare sessionsinformation för den specificerade Merge Agent.
EnumPublications - returnerar ett DataSet objekt som innehåller information om alla publikationer hos denna distributör.
EnumPublications2 - returnerar ett DataSet objekt som innehåller ytterligare information om alla publikationer hos denna distributör.
EnumSnapshotAgentSessionDetails- returnerar ett DataSet objekt som innehåller detaljer om den specificerade Snapshot Agent och sessionen.
EnumSnapshotAgentSessions- returnerar ett DataSet objekt som innehåller sessionsinformation för den angivna Snapshot Agent.
EnumSubscriptions - returnerar ett DataSet objekt som innehåller information om alla prenumerationer på publikationer hos denna distributör.
Att övervaka egenskaper för en specifik publikation hos distributören
Skapa en anslutning till distributören med hjälp av klassen ServerConnection.
Få ett PublicationMonitor föremål på ett av dessa sätt.
Skapa en instans av PublicationMonitor klassen. Ange egenskaperna Name, DistributionDBName, ConnectionContext och ServerConnection för publikationen, och ange egenskapen PublicationDBName till den PublisherName som skapades i steg 1. Anropa metoden LoadProperties för att hämta objektets egenskaper. Om denna metod ger falskt är publiceringsegenskaperna antingen felaktigt definierade eller så existerar publikationen inte.
Från den PublicationMonitorCollection som nås via egenskapen PublicationMonitors hos ett befintligt PublisherMonitor-objekt.
Använd en eller flera av följande metoder för att returnera information om denna publikation.
EnumErrorRecords - returnerar ett DataSet-objekt som innehåller felregister för det angivna felet.
EnumLogReaderAgent - returnerar ett DataSet objekt som innehåller information om Log Reader Agent för denna publikation.
EnumMonitorThresholds – returnerar ett DataSet-objekt som innehåller information om de varningströsklar för övervakning som har angetts för den här publikationen.
EnumQueueReaderAgent - returnerar ett DataSet objekt som innehåller information om Queue Reader Agent som används av denna publikation.
EnumSnapshotAgent- returnerar ett DataSet objekt som innehåller information om Snapshot Agent för denna publikation.
EnumSubscriptions - returnerar ett DataSet objekt som innehåller information om prenumerationer på denna publikation.
EnumSubscriptions2 - returnerar ett DataSet objekt som innehåller ytterligare information om prenumerationer på denna publikation baserat på den tillhandahållna SubscriptionResultOption.
EnumTracerTokenHistory - returnerar ett DataSet objekt som innehåller latensinformation för den angivna spårningstokenen.
EnumTracerTokens - returnerar ett DataSet objekt som innehåller information om alla spårningstokens som infogats i denna publikation.
För att övervaka transaktionella kommandon som väntar på att tillämpas hos prenumeranten
Skapa en anslutning till distributören med hjälp av klassen ServerConnection.
Få ett PublicationMonitor föremål på ett av dessa sätt.
Skapa en instans av PublicationMonitor klassen. Ange egenskaperna Name, DistributionDBName, ConnectionContext och ServerConnection för publikationen och ange egenskapen PublicationDBName till PublisherName som skapades i steg 1. Anropa metoden LoadProperties för att hämta objektets egenskaper. Om denna metod ger falskt är publiceringsegenskaperna antingen felaktigt definierade eller så existerar publikationen inte.
Från den PublicationMonitorCollection som nås via egenskapen PublicationMonitors hos ett befintligt PublisherMonitor-objekt.
Kör metoden TransPendingCommandInfo , som returnerar ett PendingCommandInfo objekt.
Använd egenskaperna för detta PendingCommandInfo objekt för att bestämma det uppskattade antalet väntande kommandon och hur lång tid det tar att slutföra leveransen av dessa kommandon.
Att ställa in övervakningsvarningströsklar för en publikation
Skapa en anslutning till distributören med hjälp av klassen ServerConnection.
Få ett PublicationMonitor föremål på ett av dessa sätt.
Skapa en instans av PublicationMonitor klassen. Ange egenskaperna Name, DistributionDBName, ConnectionContext och ServerConnection för publikationen och ange egenskapen PublicationDBName till den PublisherName som skapades i steg 1. Anropa metoden LoadProperties för att hämta objektets egenskaper. Om denna metod ger falskt är publiceringsegenskaperna antingen felaktigt definierade eller så existerar publikationen inte.
Från den PublicationMonitorCollection som nås via egenskapen PublicationMonitors hos ett befintligt PublisherMonitor-objekt.
Utför metoden EnumMonitorThresholds . Notera de aktuella tröskelinställningarna i de returnerade ArrayList av MonitorThreshold-objekt.
Utför metoden ChangeMonitorThreshold . Passera följande parametrar:
metricID – ett Int32 värde som representerar övervakningströskelmetriken från följande tabell:
Value Description 1 Utgångsdatum – övervakar förestående utlöpning av prenumerationer på transaktionspublikationer. 2 Latens – övervakar prestandan hos prenumerationer på transaktionspublikationer. 4 mergeexpiration - övervakar prenumerationer på sammanfogningspublikationer som är nära att löpa ut. 5 mergeslowrunduration – övervakar varaktigheten för sammanfogningssynkroniseringar via anslutningar med låg bandbredd (uppringda anslutningar). 6 mergefastrunduration - övervakar varaktigheten av sammanslagningssynkroniseringar över högbandbreddsanslutningar (LAN). 7 mergefastrunspeed – övervakar synkroniseringshastigheten för sammanslagningssynkroniseringar över högbandbreddsanslutningar (LAN). 8 mergeslowrunspeed - övervakar synkroniseringshastigheten för kopplingssynkroniseringar via lågbandbreddsanslutningar (uppringda anslutningar). Enable - Boolean värde som indikerar om metriken är aktiverad för publikationen.
ThresholdValue - heltalsvärde som sätter tröskeln.
shouldAlert – heltal som anger om denna tröskel ska generera en varning.