Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
In deze sectie worden Database Mirroring Monitor en de systeemopgeslagen procedures van sp_dbmmonitor geïntroduceerd, wordt uitgelegd hoe de controle van databasespiegeling werkt (met inbegrip van de Database Mirroring Monitor Job) en wordt een overzicht gegeven van de informatie die u over databasespiegelingssessies kunt controleren. Daarnaast maakt u in deze sectie kennis met het definiëren van waarschuwingsdrempels voor een set vooraf gedefinieerde gebeurtenissen voor databasespiegeling en het instellen van waarschuwingen voor een databasespiegelingsgebeurtenis.
U kunt een gespiegelde database bewaken tijdens een spiegelingssessie om te controleren of en hoe goed gegevens stromen. Als u bewaking wilt instellen en beheren voor een of meer gespiegelde databases op een serverexemplaren, kunt u databasespiegelingsmonitor of de opgeslagen procedures van het sp_dbmmonitor systeem gebruiken.
Een bewakingstaak voor databasemirroring, Database Mirroring Monitor Job, wordt op de achtergrond uitgevoerd, onafhankelijk van Database Mirroring Monitor. SQL Server Agent roept databasespiegelingsmonitortaak regelmatig aan, de standaardwaarde is eenmaal per minuut en de taak roept een opgeslagen procedure aan waarmee de status van spiegeling wordt bijgewerkt. Als u SQL Server Management Studio gebruikt om een mirroringsessie te starten, wordt de databasespiegelingsmonitortaak automatisch gemaakt. Als u echter alleen ALTER DATABASE<database_name>SET PARTNER gebruikt om databasespiegeling te starten, moet u de taak maken door een opgeslagen procedure uit te voeren.
In dit onderwerp:
Status van spiegeling bewaken
Als u bewaking wilt instellen en beheren voor een of meer gespiegelde databases op een serverexemplaren, kunt u databasespiegelingsmonitor of de opgeslagen procedures van het dbmmonitor-systeem gebruiken. U kunt een gespiegelde database bewaken tijdens een spiegelingssessie om te controleren of en hoe goed gegevens stromen.
Met name door een gespiegelde database te bewaken, kunt u het volgende doen:
Controleer of spiegeling werkt.
De basisstatus omvat inzicht in of de twee serverinstanties actief zijn, of de servers zijn verbonden en of het transactielogboek wordt verplaatst van de primaire server naar de mirrorserver.
Bepaal of de gespiegelde database gelijke tred houdt met de primaire database.
Tijdens de modus met hoge prestaties kan een principal-server een achterstand ontwikkelen van niet-verzonden logboekrecords die nog steeds van de principal-server naar de mirrorserver moeten worden verzonden. Bovendien kan de mirrorserver, in welke bedrijfsmodus dan ook, een achterstand opbouwen van nog niet herstelde logrecords die naar het logbestand zijn geschreven, maar nog steeds in de gespiegelde database moeten worden hersteld.
Bepaal hoeveel gegevens verloren zijn gegaan wanneer het primaire serverexemplaar niet meer beschikbaar wordt tijdens de modus voor hoge prestaties.
U kunt gegevensverlies bepalen door te kijken naar de hoeveelheid niet-verzonden transactielogboek (indien van toepassing) en het tijdsinterval waarin de verloren transacties zijn doorgevoerd bij de principal.
Vergelijk de huidige prestaties met eerdere prestaties.
Wanneer er problemen optreden, kan een databasebeheerder een geschiedenis van de spiegelingsprestaties bekijken om inzicht te krijgen in de huidige status. Als u de geschiedenis bekijkt, kan de gebruiker trends in prestaties detecteren, patronen van prestatieproblemen identificeren (zoals tijdstippen van de dag waarop het netwerk traag is of het aantal opdrachten dat het logboek invoert, erg groot is).
Los de oorzaak van een verminderde gegevensstroom tussen spiegelingspartners op.
Waarschuwingsdrempels instellen voor belangrijke prestatiegegevens.
Als een nieuwe statusrij een waarde bevat die een drempelwaarde overschrijdt, wordt een informatieve gebeurtenis verzonden naar het Windows gebeurtenislogboek. Een systeembeheerder kan vervolgens handmatig waarschuwingen configureren op basis van deze gebeurtenissen. Voor meer informatie, raadpleeg Waarschuwingsdrempels en waarschuwingen gebruiken voor prestatiemetingen van mirroring (SQL Server).
Hulpprogramma's voor het bewaken van de status van databasespiegeling
De status van databasespiegeling kan worden gecontroleerd met Database Mirroring Monitor of met de systeemopgeslagen procedure sp_dbmmonitorresults. Deze hulpprogramma's kunnen worden gebruikt om databasespiegeling te bewaken op elke gespiegelde database op het lokale serverexemplaar, zowel door systeembeheerders, dat wil zeggen leden van de vaste serverrol sysadmin, als door gebruikers die door een systeembeheerder zijn toegevoegd aan de vaste databaserol dbm_monitor in de database msdb. Wanneer u een van beide hulpprogramma's gebruikt, kan een systeembeheerder ook de mirroringstatus handmatig vernieuwen.
Note
Systeembeheerders kunnen ook waarschuwingsdrempels configureren en weergeven voor belangrijke prestatiegegevens. Voor meer informatie, raadpleeg Waarschuwingsdrempels en waarschuwingen gebruiken voor prestatiestatistieken voor mirroring (SQL Server).
Monitor voor databasespiegeling
Database Mirroring Monitor is een grafisch hulpprogramma voor gebruikersinterface waarmee systeembeheerders de status kunnen bekijken en bijwerken en waarschuwingen kunnen configureren voor verschillende metrische gegevens over belangrijke prestaties. Databasespiegelingsmonitor kan ook worden gebruikt door leden van de dbm_monitor vaste databaserol om de meest recente rij van de statustabel voor spiegeling weer te geven, maar ze kunnen de statustabel niet bijwerken.
De monitor geeft de status weer, inclusief metrische prestatiegegevens, voor een geselecteerde database op de pagina Statustabblad . De inhoud van deze pagina is afkomstig van zowel de principal- als mirrorserverexemplaren. De pagina wordt asynchroon gevuld als de status wordt verzameld via afzonderlijke verbindingen met de principal- en mirrorserverinstanties. De monitor probeert de statustabel bij te werken met intervallen van 30 seconden. De update slaagt alleen als de tabel niet binnen 15 seconden is bijgewerkt en de gebruiker lid is van de vaste serverfunctie sysadmin . Zie Status weergegeven door de monitor voor databasespiegeling verderop in dit onderwerp voor een overzicht van de informatie die op de pagina Status is gerapporteerd.
Voor een inleiding tot de interface van de databasespiegelingsmonitor, zie Overzicht van Databasespiegelingsmonitor. Zie Databasespiegelingsmonitor starten (SQL Server Management Studio) voor meer informatie over het starten van de databasespiegelingsmonitor.
Door het systeem opgeslagen procedures
U kunt de huidige status ook ophalen of bijwerken door de sp_dbmmonitorresults opgeslagen procedure uit te voeren. Met andere opgeslagen dbmmonitor-procedures kunt u bewaking instellen, bewakingsparameters wijzigen, de huidige updateperiode bekijken en bewaking op het serverexemplaren verwijderen.
In de volgende tabel worden de opgeslagen procedures geïntroduceerd voor het beheren en gebruiken van bewaking van databasespiegeling onafhankelijk van de monitor voor databasespiegeling.
Procedure Description sp_dbmmonitoraddmonitoring Maakt een taak die periodiek de statusinformatie van elke gespiegelde database op het serverexemplaar bijwerkt. sp_dbmmonitorchangemonitoring Hiermee wijzigt u de waarde van een bewakingsparameter voor databasespiegeling. sp_dbmmonitorhelpmonitoring Geeft de huidige updateperiode terug. sp_dbmmonitorresults Retourneert statusrijen voor een bewaakte database en stelt u in staat om te kiezen of de procedure vooraf de meest recente status krijgt. sp_dbmmonitordropmonitoring Stopt en verwijdert de taak voor het bewaken van databasespiegeling voor alle databases op het serverexemplaar. De opgeslagen procedures van het dbmmonitor-systeem kunnen worden gebruikt als een assistent van de Database Mirroring Monitor. Als de controle bijvoorbeeld is geconfigureerd met behulp van sp_dbmmonitoraddmonitoring, kan Database Mirroring Monitor worden gebruikt om de status te bekijken.
Hoe bewaking werkt
In deze sectie wordt de statustabel voor databasespiegeling, de databasespiegelingsmonitortaak en de monitor geïntroduceerd, hoe gebruikers de status van databasespiegeling kunnen bewaken en hoe de bewakingstaak kan worden verwijderd.
Statustabel voor databasespiegeling
De status van databasespiegeling wordt opgeslagen in een interne, niet-gedocumenteerde databasespiegelingsstatustabel in de msdb-database . Deze statustabel wordt automatisch gemaakt de eerste keer dat de status van de mirroring op het serverexemplaar wordt bijgewerkt.
De statustabel kan automatisch of handmatig worden bijgewerkt door een systeembeheerder, met een minimaal update-interval van 15 seconden. Het minimum van 15 seconden voorkomt dat serverexemplaren overbelast raken met statusaanvragen.
De statustabel wordt automatisch bijgewerkt door zowel Database Mirroring Monitor als de taak van Database Mirroring Monitor, indien deze actief is. Controletaak voor databasespiegeling werkt de tabel standaard elke minuut bij (een systeembeheerder kan een updateperiode van 1 tot 120 minuten opgeven). Databasespiegelingsmonitor werkt daarentegen elke 30 seconden de tabel automatisch bij. Voor deze updates roepen Database Mirroring Monitor Job en Database Mirroring Monitor sp_dbmmonitorupdate aan.
De eerste keer dat sp_dbmmonitorupdate wordt uitgevoerd, wordt de statustabel voor databasespiegeling en de dbm_monitor vaste databaserol in de msdb-database gemaakt. sp_dbmmonitorupdate werkt de spiegelingsstatus meestal bij door een nieuwe rij in de statustabel in te voegen voor elke gespiegelde database op het serverexemplaren; Zie 'Databasespiegelingsstatustabel' verderop in dit onderwerp voor meer informatie. Deze procedure evalueert ook de metrische prestatiegegevens in de nieuwe rijen en kapt rijen af die ouder zijn dan de huidige bewaarperiode (de standaardwaarde is zeven dagen). Zie sp_dbmmonitorupdate (Transact-SQL) voor meer informatie.
Note
Tenzij databasespiegelingsmonitor momenteel wordt gebruikt door een lid van de vaste serverfunctie sysadmin, wordt de statustabel automatisch bijgewerkt als de databasespiegelingsmonitortaak bestaat en SQL Server Agent wordt uitgevoerd.
Databasespiegelingsmonitortaak
De bewakingstaak voor databasespiegeling, Database Mirroring Monitor Job, werkt onafhankelijk van de Database Mirroring Monitor. Databasespiegelingsmonitortaak wordt alleen automatisch gemaakt als SQL Server Management Studio wordt gebruikt om een mirroringsessie te starten. Als ALTER DATABASEdatabase_nameSET PARTNER-opdrachten altijd worden gebruikt om spiegeling te starten, bestaat de taak alleen als de systeembeheerder de sp_dbmmonitoraddmonitoring opgeslagen procedure uitvoert.
Nadat de databasespiegelingsmonitortaak is gemaakt, ervan uitgaande dat SQL Server Agent wordt uitgevoerd, wordt de taak standaard één keer per minuut aangeroepen. De taak roept vervolgens de sp_dbmmonitorupdate systeem opgeslagen procedure aan.
SQL Server Agent roept databasespiegelingsmonitortaak standaard één keer per minuut aan en de taak roept sp_dbmmonitorupdate aan om de statustabel bij te werken. Systeembeheerders kunnen de updateperiode wijzigen met behulp van de sp_dbmmonitorchangemonitoring systeem opgeslagen procedure en ze kunnen de huidige updateperiode bekijken met behulp van de sp_dbmmonitorchangemonitoring systeem opgeslagen procedure. Zie sp_dbmmonitoraddmonitoring (Transact-SQL) en sp_dbmmonitorchangemonitoring (Transact-SQL) voor meer informatie.
Status van databasespiegeling bewaken (door systeembeheerders)
Leden van de vaste serverrol sysadmin kunnen de statustabel bekijken en bijwerken
Databasespiegelingsmonitor gebruiken
Wanneer u databasespiegelingsmonitor gebruikt, kan een systeembeheerder de pagina Status , navigatiestructuur of Geschiedenis handmatig vernieuwen. Hiermee wordt ook de statustabel bijgewerkt, tenzij deze al binnen de afgelopen 15 seconden is bijgewerkt.
Als u de geschiedenis van de spiegelingsstatus op een bepaald serverexemplaren wilt weergeven, kan de systeembeheerder ook op de knop Geschiedenis voor een serverexemplaren klikken (op de pagina Status ). De geschiedenis wordt weergegeven in het dialoogvenster Geschiedenis van database-spiegeling. Daar kan de systeembeheerder een aantal of alle rijen in de statustabel van het serverexemplaar bekijken.
Zie verderop in dit onderwerp "Prestatiemetingen weergegeven door de 'Database Mirroring Monitor'" voor informatie over de metrische gegevens van de Status-pagina.
Het gebruik van sp_dbmmonitorresults
Systeembeheerders kunnen de opgeslagen procedure van het sp_dbmmonitorresults systeem gebruiken om de statustabel weer te geven en eventueel bij te werken als deze niet binnen de afgelopen 15 seconden is bijgewerkt. Met deze procedure wordt de sp_dbmmonitorupdate procedure aangeroepen en worden een of meer geschiedenisrijen geretourneerd, afhankelijk van het aangevraagde bedrag in de procedureoproep. Zie sp_dbmmonitorresults (Transact-SQL)voor meer informatie over de status in de resultatenset.
Status van databasespiegeling bewaken (door dbm_monitor leden)
Zoals gezegd, de eerste keer dat sp_dbmmonitorupdate wordt uitgevoerd, wordt de vaste databaserol dbm_monitor gemaakt in de database msdb. Leden van de dbm_monitor vaste databaserol kunnen de bestaande spiegelingsstatus bekijken met behulp van Database Mirroring Monitor of de sp_dbmmonitorresults opgeslagen procedure. Maar deze gebruikers kunnen de statustabel niet bijwerken. Om te zien hoe oud de weergegeven status is, kan een gebruiker kijken naar de tijden in de labels Principal-logboek (<tijd>) en Mirror-logboek (<tijd>) op de pagina Status.
Leden van de vaste databaserol dbm_monitor zijn afhankelijk van de Database Mirroring Monitor Job om de statustabel regelmatig bij te werken. Als de taak niet bestaat of SQL Server Agent is gestopt, wordt de status steeds verouderd en wordt de configuratie van de spiegelingssessie mogelijk niet meer weergegeven. Bijvoorbeeld: na een failover kunnen de partners dezelfde rol lijken te hebben, principal of mirror, of kan de huidige principalserver als de mirror worden weergegeven, terwijl de huidige mirrorserver als de principal wordt weergegeven.
De databasespiegelingsmonitortaak verwijderen
De controletaak voor databasespiegeling, Database Mirroring Monitor Job, blijft bestaan totdat deze wordt verwijderd. De bewakingstaak moet worden beheerd door de systeembeheerder. Gebruik sp_dbmmonitordropmonitoring om de controletaak voor databasespiegeling te verwijderen. Zie sp_dbmmonitordropmonitoring (Transact-SQL) voor meer informatie.
Status weergegeven door de Monitor voor databasespiegeling
Op de pagina Status van de monitor voor databasespiegeling worden de partners beschreven en ook de status van de mirroringsessie. De status bevat metrische prestatiegegevens, zoals de status van het transactielogboek en andere informatie die bedoeld is om op dit moment de tijd te schatten die nodig is voor het voltooien van een failover en het potentieel van gegevensverlies, als de sessie niet wordt gesynchroniseerd. Daarnaast geeft de pagina Status de status en informatie weer over de spiegelingssessie in het algemeen.
Note
Zie voor een inleiding tot de Databasespiegelingsmonitor en de pagina StatusHulpprogramma's voor het bewaken van de status van databasespiegeling, eerder in dit onderwerp.
De informatie die voor elk van deze onderdelen is verstrekt, wordt samengevat in de volgende paragrafen.
Partners
Op de pagina Status ziet u de volgende informatie voor elk van de partners:
Server instantie
Naam van de serverinstantie waarvan de status wordt weergegeven in de rij Status.
Huidige rol
Huidige rol van de serverinstantie. De mogelijke statussen zijn:
Schoolleider
Mirror
Spiegelingsstatus
De mogelijke statussen zijn:
Onbekend
Synchroniseren
Gesynchroniseerd
Opgeschort
Ontkoppeld
Witness-verbinding
Verbindingsstatus van de getuige. De mogelijke statussen zijn:
Onbekend
Connected
Verbinding verbroken.
Aanmelden bij de principal-server
Op de pagina Status wordt de volgende informatie weergegeven over de status van het logboek op de principal-server vanaf de aangegeven tijd:
Niet-verzonden logboek
De hoeveelheid loggegevens in de verzendwachtrij, in kilobytes (KB).
Oudste niet-verzonden transactie
Leeftijd van de oudste niet-verzonden transactie in de verzendwachtrij. De leeftijd van deze transactie geeft aan van hoeveel minuten aan transacties nog niet naar de mirrorserverinstantie zijn verzonden. Deze waarde helpt bij het meten van het potentieel voor gegevensverlies in termen van tijd.
Tijd om logboek te verzenden (geschat)
Geschat aantal minuten dat het principal-serverexemplaar nodig heeft om het transactielogboek dat zich momenteel in de verzendwachtrij bevindt, naar het mirror-serverexemplaar te verzenden op basis van de huidige verzendsnelheid. De werkelijke tijd voor het verzenden van het logboek wordt beïnvloed door de snelheid van binnenkomende transacties, die aanzienlijk kunnen variëren. De waarde Tijd om logboek te verzenden (geschat) kan echter nuttig zijn om ruwweg een inschatting te maken van de tijd die nodig is voor een handmatige failover.
Huidige verzendsnelheid
Snelheid waarmee transacties worden verzonden naar het exemplaar van de mirrorserver in KB per seconde.
Huidige snelheid van nieuwe transacties
Snelheid waarmee binnenkomende transacties worden ingevoerd in het logboek van de principal in KB per seconde. Als u wilt bepalen of spiegeling achterloopt, bijblijft of inloopt, vergelijkt u deze waarde met de waarde Geschatte tijd voor het verzenden van logboek.
Aanmelden bij de mirrorserver
Op de pagina Status wordt de volgende informatie weergegeven over de status van het logboek op de mirrorserver vanaf de aangegeven tijd:
Onhersteld logboek
De hoeveelheid loggegevens in KB die in de redo-wachtrij wacht.
Tijd om logboek te herstellen (geschat)
Geschat aantal minuten dat nodig is om het log dat zich momenteel in de redo-wachtrij bevindt toe te passen op de gespiegelde database.
Huidige herstelsnelheid
Snelheid waarmee transacties worden hersteld in de gespiegelde database (in KB per seconde).
Spiegelingssessie
Daarnaast geeft de pagina Status de volgende informatie weer over de spiegelingssessie:
Overhead voor doorvoeren spiegelen
Gemiddelde vertraging per transactie in milliseconden (alleen relevant in de modus voor hoge veiligheid). Deze vertraging is de hoeveelheid overhead die ontstaat terwijl de hoofdserverinstantie wacht tot de mirror server-instantie het logrecord van de transactie in de redo-wachtrij schrijft.
Tijd voor het verzenden en herstellen van alle huidige logboeken (geschatte)
Geschatte tijd die nodig is om alle niet-verzonden logboeken te verzenden die zijn vastgelegd in de principal en om alle logboeken te herstellen die momenteel in de redo-wachtrij staan. Deze schatting kan kleiner zijn dan de som van de waarden van de tijd voor het verzenden van logboekvelden (geschat) en de tijd die nodig is om logboekvelden (geschatte) te herstellen , omdat het verzenden en herstellen parallel kan worden uitgevoerd.
getuigenadres
Netwerkadres van de witnessserverinstantie. Zie Een servernetwerkadres (databasespiegeling) opgeven voor informatie over de indeling van dit adres.
Bedrijfsmodus
De bedrijfsmodus van de databasespiegelingssessie:
Hoge prestaties (asynchroon)
Hoge veiligheid zonder automatische failover (synchroon)
Hoge veiligheid met automatische failover (synchroon)
Aanvullende informatiebronnen over een gespiegelde database
Naast het gebruik van de opgeslagen procedures voor databasespiegeling en dbmmonitor voor het bewaken van een gespiegelde database en het instellen van waarschuwingen voor bewaakte prestatievariabelen, biedt SQL Server catalogusweergaven, prestatiemeteritems en gebeurtenismeldingen voor databasespiegeling.
In deze sectie:
Metagegevens voor databasespiegeling
Elke databasespiegelingssessie wordt beschreven in metagegevens die worden weergegeven via de volgende catalogus- of dynamische beheerweergaven:
sys.database_mirroring
In deze weergave worden voor elke gespiegeld database in een serverexemplaar de metagegevens over de spiegeling van databases weergegeven. Zie sys.database_mirroring (Transact-SQL) voor meer informatie.
sys.database_mirroring_endpoints
De catalogusweergave sys.database_mirroring_endpoints geeft informatie weer over het databasespiegelingseindpunt van het serverexemplaar. Zie sys.database_mirroring_endpoints (Transact-SQL)voor meer informatie.
sys.database_mirroring_witnesses
Deze catalogusweergave toont de metagegevens van databasespiegeling voor elke sessie waarin een serverexemplaar als witness fungeert. Zie sys.database_mirroring_witnesses (Transact-SQL) voor meer informatie.
sys.dm_db_mirroring_connections
Deze dynamische beheerweergave retourneert een rij voor elke netwerkverbinding voor databasespiegeling.
Zie sys.dm_db_mirroring_connections (Transact-SQL) voor meer informatie.
Prestatiemeteritems voor databasespiegeling
Met prestatiemeteritems kunt u de prestaties van databasespiegeling bewaken. U kunt bijvoorbeeld de prestatiemeteritem Transactievertraging onderzoeken om te zien of databasespiegeling van invloed is op de prestaties op de principal-server. U kunt de prestatiemeteritems voor het opnieuw verzenden van wachtrijen en logboeken bekijken om te zien hoe goed de gespiegelde database bijhoudt met de principal-database. U kunt de teller Verzonden logbytes/sec bekijken om te controleren hoeveel loggegevens per seconde worden verzonden.
In Performance Monitor op beide partners zijn prestatiemeteritems beschikbaar in het prestatieobject voor databasespiegeling (SQLServer:Database Mirroring). Zie SQL Server databasespiegelingsobject voor meer informatie.
De prestatiemeter starten
Gebeurtenismeldingen voor databasespiegeling
Gebeurtenismeldingen zijn een speciaal soort databaseobject. Gebeurtenismeldingen worden uitgevoerd als reactie op verschillende Transact-SQL DDL-instructies (Data Definition Language) en SQL Trace-gebeurtenissen en verzenden informatie over server- en database-gebeurtenissen naar een Service Broker-service.
De volgende gebeurtenissen zijn beschikbaar voor databasespiegeling:
Gebeurtenisklasse statuswijziging van databasespiegeling
Dit geeft aan wanneer de mirroringstatus van een gespiegelde database wordt gewijzigd. Zie Gebeurtenisklasse voor statuswijzigingen bij databasespiegeling voor meer informatie.
Gebeurtenisklasse Audit voor aanmelding bij databasespiegeling
Hiermee worden auditberichten over de transportbeveiliging voor databasespiegeling gerapporteerd. Zie Aanmeldingsgebeurtenisklasse voor databasespiegeling controleren voor meer informatie.
Gerelateerde taken
Databasespiegelingsmonitor starten (SQL Server Management Studio)
De status van een gespiegelde database weergeven (SQL Server Management Studio)
Opgeslagen procedures
Zie ook
Databasespiegeling (SQL Server)
WMI-provider voor concepten voor serverevenementen