SQL Server-onderdelen bewaken
van toepassing op:SQL Server-
Bewaking is belangrijk omdat SQL Server een service in een dynamische omgeving biedt. De gegevens in de toepassing worden gewijzigd. Het type toegang dat gebruikers nodig hebben, moeten worden gewijzigd. De manier waarop gebruikers verbinding maken, verandert. De typen toepassingen die toegang hebben tot SQL Server, kunnen zelfs veranderen, maar SQL Server beheert automatisch systeembronnen, zoals geheugen en schijfruimte, om de behoefte aan uitgebreide handmatige afstemming op systeemniveau te minimaliseren. Met bewaking kunnen beheerders prestatietrends identificeren om te bepalen of wijzigingen nodig zijn.
Ga als volgende te werk om elk onderdeel van SQL Server effectief te bewaken:
- Bepaal uw bewakingsdoelen.
- Selecteer het juiste hulpprogramma.
- Identificeer onderdelen die moeten worden bewaakt.
- Selecteer metrische gegevens voor deze onderdelen.
- Controleer de server.
- Analyseer de gegevens.
Deze stappen worden hieronder besproken.
Uw bewakingsdoelen bepalen
Als u SQL Server effectief wilt bewaken, moet u uw reden voor bewaking duidelijk identificeren. Dit kunnen de volgende oorzaken hebben:
- Stel een basislijn in voor prestaties.
- Prestatiewijzigingen in de loop van de tijd identificeren.
- Specifieke prestatieproblemen vaststellen.
- Identificeer onderdelen of processen die u wilt optimaliseren.
- Vergelijk het effect van verschillende clienttoepassingen op prestaties.
- Gebruikersactiviteit controleren.
- Test een server onder verschillende belastingen.
- Databasearchitectuur testen.
- Onderhoudsschema's testen.
- Test back-up- en herstelplannen.
- Bepalen wanneer u de hardwareconfiguratie wilt wijzigen.
Het juiste hulpprogramma selecteren
Nadat u hebt bepaald waarom u bewaking uitvoert, moet u de juiste hulpprogramma's voor dat type bewaking selecteren. Het Windows-besturingssysteem en SQL Server bieden een volledige set hulpprogramma's voor het bewaken van servers in transactie-intensieve omgevingen. Deze hulpprogramma's onthullen duidelijk de toestand van een exemplaar van de SQL Server Database Engine of een exemplaar van SQL Server Analysis Services.
Windows biedt de volgende hulpprogramma's voor het bewaken van toepassingen die op een server worden uitgevoerd:
- Start Performance Monitor (Windows), waarmee u realtime gegevens over activiteiten zoals geheugen, schijf en processorgebruik kunt verzamelen en weergeven.
- Prestatielogboeken en -waarschuwingen
- Taakbeheer
Zie de Windows-documentatie voor meer informatie over Windows Server- of Windows-hulpprogramma's.
SQL Server biedt de volgende hulpprogramma's voor het bewaken van onderdelen van SQL Server:
- Overzicht van uitgebreide gebeurtenissen
- SQL-tracering
- SQL Server Profiler
- gedistribueerde herhaling van SQL Server-
- activiteitsmonitor
- Grafisch showplan voor SQL Server Management Studio
- Systeemopslagprocedures
- Database Console Commands (DBCC)
- Systeemdynamische beheerweergaven
- Wat zijn de SQL-databasefuncties?
- traceringsvlagmen
Belangrijk
SQL Trace en SQL Server Profiler zijn afgeschaft. De Microsoft.SqlServer.Management.Trace naamruimte die de Microsoft SQL Server Trace- en Replay-objecten bevat, worden ook afgeschaft.
Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
Gebruik in plaats daarvan uitgebreide gebeurtenissen. Zie Quickstart: Uitgebreide gebeurtenissen en De SSMS XEvent Profiler-gebruiken voor meer informatie over overzicht van uitgebreidegebeurtenissen.
Notitie
SQL Server Profiler voor Analysis Services-workloads is NIET afgeschaft en wordt nog steeds ondersteund.
Zie Hulpprogramma's voor prestatiebewaking en afstemmingvoor meer informatie over sql Server-bewakingshulpprogramma's.
De onderdelen identificeren die moeten worden bewaakt
De derde stap voor het bewaken van een exemplaar van SQL Server is het identificeren van de onderdelen die u bewaakt. Als u bijvoorbeeld SQL Server Profiler gebruikt om een server te traceren, kunt u de tracering definiëren om gegevens over specifieke gebeurtenissen te verzamelen. U kunt ook gebeurtenissen uitsluiten die niet van toepassing zijn op uw situatie.
Metrische gegevens voor bewaakte onderdelen selecteren
Nadat u de onderdelen hebt geïdentificeerd die moeten worden bewaakt, bepaalt u de metrische gegevens voor onderdelen die u bewaakt. Nadat u bijvoorbeeld de gebeurtenissen hebt geselecteerd die u wilt opnemen in een trace, kunt u ervoor kiezen om alleen specifieke gegevens over de gebeurtenissen op te nemen. Door de tracering te beperken tot gegevens die relevant zijn voor de tracering, worden de systeembronnen geminimaliseerd die nodig zijn om de tracering uit te voeren.
De server bewaken
Als u de server wilt bewaken, voert u het bewakingsprogramma uit dat u hebt geconfigureerd voor het verzamelen van gegevens. Nadat een tracering is gedefinieerd, kunt u bijvoorbeeld de trace uitvoeren om gegevens te verzamelen over gebeurtenissen die op de server zijn gegenereerd.
De gegevens analyseren
Nadat de tracering is voltooid, analyseert u de gegevens om te zien of u uw bewakingsdoel hebt bereikt. Als u dat nog niet hebt gedaan, wijzigt u de onderdelen of metrische gegevens die u hebt gebruikt om de server te bewaken.
Hieronder ziet u een overzicht van het proces voor het vastleggen van gebeurtenisgegevens en het gebruik ervan.
Pas filters toe om de verzamelde gebeurtenisgegevens te beperken.
Door de gebeurtenisgegevens te beperken, kan het systeem zich richten op de gebeurtenissen die relevant zijn voor het bewakingsscenario. Als u bijvoorbeeld trage query's wilt bewaken, kunt u een filter gebruiken om alleen die query's te bewaken die zijn uitgegeven door de toepassing die meer dan 30 seconden duren voordat ze worden uitgevoerd op een bepaalde database.
Zie Quickstart: Uitgebreide gebeurtenissenvoor meer informatie over het filteren van uitgebreide gebeurtenistraceringen.
Voor meer informatie over het filteren van SQL-tracering, zie Een traceringsfilter instellen (Transact-SQL) en Filter gebeurtenissen in een tracering (SQL Server Profiler).
Gebeurtenissen bewaken (vastleggen).
Zodra deze functie is ingeschakeld, worden met actieve bewaking gegevens van de opgegeven toepassing, exemplaar van SQL Server of besturingssysteem vastgelegd. Wanneer de schijfactiviteit bijvoorbeeld wordt bewaakt met systeemmonitor, worden gebeurtenisgegevens vastgelegd, zoals schijflees- en schrijfbewerkingen, en wordt deze op het scherm weergegeven. Zie Resourcegebruik bewaken (Prestatiemeter)voor meer informatie.
Sla vastgelegde gebeurtenisgegevens op.
Door vastgelegde gebeurtenisgegevens op te slaan, kunt u deze later analyseren. Vastgelegde gebeurtenisgegevens die worden opgeslagen in een bestand dat opnieuw kan worden geladen in het hulpprogramma dat het oorspronkelijk heeft gemaakt voor verdere analyse. Het opslaan van vastgelegde gebeurtenisgegevens is belangrijk wanneer u een prestatiebasislijn maakt. De prestatiebasislijngegevens worden opgeslagen en gebruikt bij het vergelijken van onlangs vastgelegde gebeurtenisgegevens om te bepalen of de prestaties optimaal zijn.
Met uitgebreide gebeurtenissen kunnen gebeurtenisgegevens worden opgeslagen in een gebeurtenisbestand, gebeurtenisteller, histogram en ringbuffer. Zie Doelen voor uitgebreide gebeurtenissenvoor meer informatie.
SQL Trace-gebeurtenisgegevens kunnen zelfs opnieuw worden afgespeeld met behulp van het Gedistribueerde Herhalingshulpprogramma of SQL Server Profiler. Met SQL Server Profiler kunnen gebeurtenisgegevens worden opgeslagen in een bestand of SQL Server-tabel. Zie SQL Server Profiler-sjablonen en -machtigingenvoor meer informatie.
Maak traceringssjablonen die de instellingen bevatten die zijn opgegeven om de gebeurtenissen vast te leggen.
Traceringssjablonen bevatten specificaties over de gebeurtenissen zelf, gebeurtenisgegevens en filters die worden gebruikt om gegevens vast te leggen. Deze sjablonen kunnen later worden gebruikt om een specifieke set gebeurtenissen te bewaken zonder de gebeurtenissen, gebeurtenisgegevens en filters opnieuw te definiëren. Als u bijvoorbeeld regelmatig het aantal impasses wilt controleren en de gebruikers die betrokken zijn bij deze impasses, kunt u een sjabloon maken voor het definiëren van deze gebeurtenissen, gebeurtenisgegevens en gebeurtenisfilters; sla de sjabloon op; en past u het filter de volgende keer toe dat u impasses wilt bewaken.
Een definitie van een uitgebreide gebeurtenissessie is een sjabloon die kan worden gescript en opnieuw kan worden gebruikt. Zie Gebeurtenissessies beheren in de objectverkennerom sessies te maken en te beheren. De Management Studio XEvent Profiler biedt al sjablonen die klaar zijn voor gebruik. Zie De SSMS XEvent Profiler-gebruiken voor meer informatie.
SQL Server Profiler maakt gebruik van traceringssjablonen voor dit doel. Zie Standaardinstellingen voor traceringsdefinities (SQL Server Profiler) instellen en Een traceringssjabloon maken (SQL Server Profiler)voor meer informatie.
Tip
Een SQL Trace-definitie kan worden geconverteerd naar een uitgebreide gebeurtenissessie. Zie Een bestaand SQL-traceringsscript converteren naar een uitgebreide gebeurtenissensessievoor meer informatie.
Vastgelegde gebeurtenisgegevens analyseren.
Om te worden geanalyseerd, worden de vastgelegde gebeurtenisgegevens geladen in de toepassing die de gegevens heeft vastgelegd.
Een vastgelegde uitgebreide gebeurtenistracering kan bijvoorbeeld opnieuw worden geladen in SQL Server Management Studio voor weergave en analyse. Zie Gebeurtenisgegevens weergeven in SQL Server Management Studiovoor meer informatie.
SQL Trace-gegevens kunnen opnieuw worden geladen in SQL Server Profiler voor weergave en analyse. Zie Traceringen weergeven en analyseren met SQL Server Profilervoor meer informatie.
Bij het analyseren van gebeurtenisgegevens moet worden bepaald wat er gebeurt en waarom. Met deze informatie kunt u wijzigingen aanbrengen die de prestaties kunnen verbeteren, zoals het toevoegen van meer geheugen, het wijzigen van indexen, het corrigeren van coderingsproblemen met Transact-SQL instructies of opgeslagen procedures, enzovoort, afhankelijk van het type analyse dat wordt uitgevoerd. U kunt bijvoorbeeld de Database Engine Tuning Advisor gebruiken om een vastgelegde trace van Extended Events of SQL Server Profiler te analyseren en indexaanbevelingen te doen op basis van de resultaten.
Vastgelegde gebeurtenisgegevens opnieuw afspelen (optioneel).
Met gebeurtenisherhaling kunt u een testkopie maken van de databaseomgeving waaruit de gegevens zijn vastgelegd. Herhaal vervolgens de vastgelegde gebeurtenissen zoals ze oorspronkelijk op het echte systeem plaatsvonden. Deze mogelijkheid is alleen beschikbaar met het Distributed Replay Utility of SQL Server Profiler. U kunt de gebeurtenissen opnieuw afspelen met dezelfde snelheid als de gebeurtenissen die oorspronkelijk zijn opgetreden, zo snel mogelijk (om het systeem te benadrukken), of meer waarschijnlijk één stap per keer (om het systeem te analyseren nadat elke gebeurtenis is opgetreden). Door de exacte gebeurtenissen in een testomgeving te analyseren, kunt u schade aan het productiesysteem voorkomen. Voor meer informatie, zie Traceringen opnieuw afspelen.