sql >> Database >  >> RDS >> Sqlserver

4 belangrijke databasebewakingsactiviteiten die elke DBA moet weten

DBA's spelen een cruciale rol binnen een organisatie. Als gegevensbewaarders zijn ze verantwoordelijk voor het beheer van alle aspecten van de databaseprestaties, waaronder hoge beschikbaarheid, snelle verwerkingstijd van query's, risicobeperking en noodherstel. Bovendien zijn DBA's verantwoordelijk voor het zakelijke doel om de databases van de organisatie te onderhouden met het oog op ROI en kostenbesparingen.

Met alle verschillende hoeden die ze dragen, moeten DBA's efficiënt werken, en effectief tijdbeheer is hun beste vriend. De beste manier om efficiëntie te bereiken, is door u eerst te concentreren op de belangrijkste activiteiten die ervoor zorgen dat de databases optimaal blijven presteren.

Hier zijn vier database-monitoringactiviteiten die bovenaan de "must-know"-lijst van elke DBA zouden moeten staan.

Hoe (en waarom) de standaardinstellingen in SQL Server aanpassen

Veel DBA's draaien SQL Server zoals het is, direct uit de doos. De standaardconfiguraties zijn echter niet altijd de beste keuze vanuit het oogpunt van beveiliging of prestaties. De databases van elke organisatie zijn anders en voldoen aan verschillende zakelijke behoeften, dus het is alleen maar logisch dat niet elke database op dezelfde manier is geconfigureerd.

Afhankelijk van uw specifieke databasebehoeften en voorkeuren, zijn er verschillende standaard SQL Server-instellingen die u mogelijk wilt wijzigen:

  • Vulfactor:als u een index maakt zonder de vulfactorwaarde op te geven, is de standaardwaarde 0. Dit betekent dat de pagina tot de capaciteit wordt gevuld en dat eventuele invoegingen, verwijderingen of updates buitensporige paginasplitsingen en fragmentatie kunnen veroorzaken.

    Er is geen universeel "juiste" vulfactorwaarde, maar 80-90 is normaal gesproken een veilige keuze. Met dit waardebereik kan 80-90 procent van de pagina worden gevuld, waardoor 10-20 procent vrij blijft.
  • Kostendrempel voor parallellisme:de kostendrempel voor parallellisme is de waarde waarbij de SQL Server-engine parallelle plannen voor uw query's begint uit te voeren. De standaardwaarde is vijf seconden, maar deze waarde is vrij laag en kan veel onnodig complexe query's veroorzaken, wat de prestaties negatief zal beïnvloeden.

    Begin met een instelling van 20 seconden en pas deze zo nodig aan op basis van CXPACKET-wachttijden en CPU-gebruik.
  • Autogrow databasebestand:Autogrowth is een proces dat plaatsvindt wanneer de SQL Server-engine de grootte van een databasebestand vergroot wanneer er onvoldoende ruimte is. Hoeveel het bestand groeit, is standaard ingesteld op 1 MB voor gegevensbestanden en 10 procent voor transactielogbestanden.

    Elke database groeit met verschillende snelheden, dus schat hoeveel u denkt dat de database zal groeien en stel de waarde dienovereenkomstig in.
  • Databaseherstelmodel:het standaardherstelmodel is standaard VOL, maar dat is niet efficiënt voor alle databases.

    Wijzig de instelling in EENVOUDIG voor databases die niet bedrijfskritisch zijn en laat de instelling alleen op VOLLEDIG voor productiedatabases met een hoog risico.
  • Maximum servergeheugen:de standaardwaarde is 2 TB, wat betekent dat SQL Server al het geheugen van het besturingssysteem toewijst. Dit laat geen geheugen over voor het besturingssysteem om te gebruiken.

    Pas de instelling aan om de hoeveelheid geheugen die beschikbaar is voor het SQL Server-proces te maximaliseren, maar laat indien nodig een beetje over aan het besturingssysteem.
  • Maximale mate van parallellisme (MAXDOP):MAXDOP bepaalt hoeveel processors worden gebruikt voor het uitvoeren van een query in een parallel plan. De standaardwaarde is 0, wat betekent dat SQL Server bepaalt hoeveel processors het kan gebruiken. Als u de drempelwaarde voor parallellisme op de standaardwaarde van 5 laat, kunt u uiteindelijk alle CPU's voor elke query gebruiken.

    De ideale MAXDOP-instelling is afhankelijk van uw specifieke systeem, maar Microsoft biedt hier enkele suggesties.
  • Back-upcompressie:de standaardinstelling voor deze functie is UIT. Back-upcompressie versnelt echter de back-upbewerkingen van de database en zorgt voor kleinere back-upbestanden, dus u kunt deze optie inschakelen.

Nog een laatste tip voor het aanpassen van de SQL Server-instellingen van de standaardwaarden:test het systeem altijd grondig na het wijzigen van instellingen om er zeker van te zijn dat er geen problemen ontstaan.

Hoe SQL Server-knelpunten te elimineren

SQL Server-knelpunten zijn een veelvoorkomende bron van prestatieproblemen, waaronder SQL Server die de processor belast, lange uitvoeringstijden van query's, overmatige I/O en extreme activiteit op de schijven.

Er zijn veel niet-knelpunten waarom uw database deze prestatieproblemen kan ondervinden, maar als het probleem het gevolg is van SQL Server-knelpunten, zijn er drie hoofdgebieden die waarschijnlijk worden beïnvloed:geheugen, I/O en CPU.

Geheugenknelpunten zijn het gevolg van onvoldoende geheugenbronnen of SQL Server-activiteiten die te veel beschikbaar geheugen gebruiken. Let op langere uitvoeringstijden van query's, overmatige I/O, berichten over onvoldoende geheugen in het toepassingslogboek en frequente systeemcrashes.

I/O-knelpunten treden op wanneer er niet voldoende opslagruimte beschikbaar is om reguliere databasebewerkingen zoals tempDB te ondersteunen. Let op lange reactietijden, vertragingen van applicaties en frequente time-outs voor taken.

CPU-knelpunten worden veroorzaakt door onvoldoende hardwarebronnen. Kijk uit in uw databasemonitoring voor loggegevens die aantonen dat SQL Server overmatige CPU gebruikt.

Hoe de groei van tempDB te voorkomen

TempDB is een tijdelijke werkruimte in SQL Server-instanties die wordt gebruikt om tussenliggende en tijdelijke objecten te maken en te bewaren. TempDB is een van de meest actieve bronnen in een SQL Server-omgeving, dus het is belangrijk om overmatige tempDB-groei te bewaken en te beheersen.

TempDB wordt vaak binnen een instantie gebruikt omdat het wordt gebruikt om gebruikersobjecten, interne objecten en versie-archieven op te slaan. Overmatige groei van tempDB kan prestatieproblemen veroorzaken, dus het is belangrijk om grote query's, tijdelijke tabellen en tabelvariabelen bij te houden die een grote hoeveelheid tempDB-schijfruimte gebruiken.

Om de grootte en groei van tempDB te optimaliseren, raadt Microsoft de volgende best practices aan:

  • Stel het herstelmodel van tempDB in op EENVOUDIG
  • Sta toe dat tempDB-bestanden automatisch groeien zoals vereist
  • Stel de toename van de bestandsgroei in op een redelijke grootte om te voorkomen dat de tempDB-databasebestanden met een te kleine waarde groeien
  • Wijs vooraf ruimte toe aan alle tempDB-bestanden door de bestandsgrootte in te stellen op een waarde die groot genoeg is voor de typische werkbelasting in de omgeving
  • Maak elk gegevensbestand even groot

U kunt de grootte en groeiparameters van de tempDB-gegevensbestanden aanpassen met behulp van SQL Server Management Studio.

Hoe de totale eigendomskosten te berekenen

Hoewel u misschien niet veel tijd besteedt aan het nadenken over het budget van uw bedrijf, kunt u maar beter geloven dat de CFO dat wel doet. Wanneer het tijd is om te vragen om nieuwe technologie voor prestatiebewaking, is het slim om harde gegevens voor te bereiden om uw verzoek te ondersteunen.

Een van de meest invloedrijke gegevens die u kunt presenteren, zijn de potentiële totale eigendomskosten (TCO) van de nieuwe technologie versus uw huidige oplossing. Houd naast de directe kosten ook rekening met indirecte kosten, zoals infrastructuur- en resourcekosten, zoals onderhoud.

Het verlagen van de TCO is een gemeenschappelijk doel voor DBA's die hun huidige hulpprogramma voor het bewaken van de databaseprestaties willen vervangen, dus er zijn verschillende factoren waarmee rekening moet worden gehouden. Zoals hierboven vermeld, is het belangrijk om niet alleen naar directe kosten zoals de aankoopprijs te kijken, maar ook naar indirecte kosten zoals opslag- en resourcekosten zoals training.

Om de TCO voor de nieuwe tool te bepalen, sluit u uw gegevens aan op een TCO-calculator en ziet u wat de eventuele kostenbesparingen zijn.


  1. MySQL:ongeldig gebruik van groepsfunctie

  2. Een rij met totalen maken in Access

  3. Inleiding tot PL/SQL-pakketten in Oracle Database

  4. Wat is Oracle SQL &PL/SQL? Alles wat een beginner moet weten