sql >> Database teknologi >  >> RDS >> Sqlserver

5 tricks til at sikre SQL Server Peak Performance

Databaseadministratorer bærer mange hatte bag kulisserne – fra kapacitetsplanlægning til sikkerhed til datagendannelse. Måske det mest synlige af DBA's ansvar er SQL Server-ydelsesovervågning. Selvom de daglige opgaver, der er forbundet med at vedligeholde et højtydende system, kan gå ubemærket hen af ​​omverdenen, er det bedre at tro på, at folk begynder at være opmærksomme, når ydeevnen er mindre end ideel.

Databaseafbrydelser, langsomme svartider og andre brugerproblemer er dårlige for virksomheden. Og fordi SQL Server-ydeevne (eller mangel på samme) falder helt ind i DBA-domænet, er dårligt ydende databaser dårligt for din jobsikkerhed.

Bortset fra truslen om arbejdsløshed, at sikre, at SQL Server-topydelse er afgørende for din organisations evne til at køre problemfrit, så vi har samlet fem tricks, som DBA'er skal vide for at optimere SQL Server-ydeevne.

Automatiser rutinemæssige opgaver og vedligeholdelse

I disse dage er der ringe grund for en DBA til at udføre mange daglige opgaver og vedligeholdelsestjek manuelt. Nutidens værktøjer til overvågning af SQL Server-ydelse kan automatisk overvåge diskplads, inspicere fejllogfiler og verificere sikkerhedskopier. Du kan endda konfigurere systemadvarsler, der ikke kun fortæller dig, at der er et problem, men også giver oplysninger om alvoren og typen af ​​problemet.

En af de vigtigste fordele ved disse overvågningsværktøjer er, at mange af ydeevneovervågningsfunktionerne er tilgængelige via din mobile enhed, hvilket gør fejlfinding meget mere fleksibel. Du kan overvåge og triage dit system fra praktisk talt hvor som helst når som helst.

Spor ydeevnemålinger

Selvfølgelig er det vigtigt for dine SQL Server-ydelsesovervågningsværktøjer at fange og rette aktuelle problemer, men der er også meget værdi i at holde styr på tidligere præstationer. Overvågning og analyse af databasens ydeevne over tid hjælper dig med at identificere tendenser og forudse fremtidige præstationsproblemer. Sporing af ydeevnehistorik giver data om, hvorvidt ydeevnen er bedre eller dårligere over en given tidsperiode.

Arbejdsbelastningsanalyse er en anden måde at få ydeevnemålinger på, der hjælper dig med at forbedre SQL Server-ydeevnen. Kør en analyse for at identificere, hvordan en bruger, database, vært eller SQL-sætning påvirker din arbejdsbyrde. Hvis du isolerer en kilde, der påvirker systemet negativt, bliver det meget nemmere at tage de nødvendige skridt til at løse problemet.

Identificer årsagen til flaskehalse

Som nævnt ovenfor, når du først isolerer kilden til en flaskehals eller præstationsdræber, er det meget nemmere at rette problemet. Nogle almindelige kilder til flaskehalse og symptomer, du skal være opmærksom på, omfatter:

  • CPU-problemer:SQL Server sætter gang i processoren
  • Hukommelsesproblemer:Længere eksekveringstider på forespørgslerne
  • Lagringsproblemer:Ekstrem aktivitet på diskene og lange ventetider pr. I/O
  • I/O-problemer:WRITELOG-ventetiden er høj sammenlignet med den samlede ventetid

Når du har identificeret din flaskehals, er der et par gode rettelser, du kan prøve, som ofte tager sig af almindelige ydeevneproblemer, herunder:

  • SQL-serverjustering:Isoler den specifikke forespørgsel, der blev forsinket, den specifikke ventetid, der forårsagede forsinkelsen, og tidspåvirkningen af ​​flaskehalsen
  • Slip af med forældede og duplikerede indekser:Fremskynder forespørgsler, fordi optimeringsværktøjet ikke behøver at tage flere indekser i betragtning, når den analyserer forespørgselsydeevne og fastlægger en plan.
  • Ret fragmentering:Periodisk genopbygning eller defragmentering af dine indekser vil forbedre ydeevnen ved at reducere antallet af spredte eller delvist udfyldte datasider, som SQL Server skal læse.

Kør rutinemæssige sundhedstjek af ydeevne

Forebyggelse er næsten altid bedre end en kur. Brug sundhedstjek til at identificere aktuelle og potentielle problemer i systemet. Sundhedstjek hjælper dig med at lokalisere problemer med sikkerhed, gendannelse efter katastrofer, hukommelse, I/O og konfiguration, før de forårsager større ydeevneproblemer.

Regelmæssige sundhedstjek bør omfatte:

  • Kontrol af manglende indekser:Manglende indekser gør SQL Server langsom til at reagere, fordi den skal søge efter data i hver post. Men vær ikke for hurtig til blot at tilføje manglende indekser; tilføjelse af unødvendige indekser kan også påvirke ydeevnen negativt.
  • Hold øje med uforholdsmæssige niveauer af ad hoc-forespørgsler:Det er ikke noget problem at bruge ad hoc-forespørgsler lejlighedsvis. Men når de bruges for ofte, lider ydeevnen. SQL Server genbruger ikke disse sætninger, så procedurecachen bliver oppustet, hvilket får buffercachen til at tømme data. SQL Server skal så læse data fra disken (langsom) i stedet for fra hukommelsen.
  • Leder efter forældede statistikker:SQL Server-forespørgselsoptimeringsværktøjet bruger statistik til at beregne de anslåede omkostninger ved operationerne. Forældede statistikker kan få forespørgselsoptimeringsværktøjet til at vælge en suboptimal eksekveringsplan.

Opgrader til den nyeste SQL Server-version

Denne føles lidt indlysende, men hvis du ikke allerede har gjort det, så opgrader til den nyeste version af SQL Server. SQL Server 2000, 2005 og 2008 er ikke længere under aktiv udvikling, og de nyere versioner har en masse funktioner, der helt sikkert vil øge ydeevnen. Disse funktioner omfatter den seneste version af SQL Server-forespørgselsoptimering, nye CPU-instruktionssæt og selvfølgelig fejlrettelser.


  1. Er OraOLEDB-udbyder i .NET upålidelig på CLOB-felter?

  2. Eksempler på JDBC-erklæringer – Indsæt, Slet, Opdater, Vælg Record

  3. Postgresql json lignende forespørgsel

  4. LISTAGG-forespørgsel ORA-00937:ikke en enkeltgruppegruppefunktion