Probleemoplossingsstappen Voor SQL CPU-gebruik

Waar wacht je op? Klik hier om deze Windows-reparatietool nu te downloaden.

Als u zich bezighoudt met het gebruik van SQL-CPU’s op uw pc, hopen we dat deze blogpost u kan helpen het probleem op te lossen.

Deze pagina biedt stapsgewijze instructies voor het lokaliseren en oplossen van problemen die worden veroorzaakt door een groter CPU-gebruik op een specifieke laptop met Microsoft SQL Server.

Hoewel er veel problemen kunnen zijn met een hoge CPU-ruimte in SQL Server, zijn de meest bekende:

  • Hoge logische uitlezingen veroorzaakt door bedside- of indexdecodering om de eenmalige reden:
  • Verouderde statistieken
  • Ontbrekende hints
  • Problemen met Parameter Very Plan (PSP)
  • Slecht voorbereide vragen
  • Verhoogde werkdruk
  • U zou de volgende stappen gebruiken om problemen op te lossen en hoog CPU-gebruik op te lossen, inclusief SQL Server.

    Stap 1: Controleer of SQL Server CPU-overbelasting veroorzaakt

    sql cpu-gebruik

    Om er zeker van te zijn dat het SQL Server-proces als geheel daadwerkelijk bijdraagt ​​aan een hoge belasting voor de CPU, gebruikt u een van de volgende tools:

  • Taakbeheer (kijk op het tabblad Processen om zelfverzekerd te zijn dat de SQL-processor voor 64-bits Windows NT Server bijna 100% succes heeft)

  • Prestatie- en resourcebewaking (Prestatiebewaking)

  • Tellers: proces/%usertime, %voorkeurstijd
  • Instance: sqlservr
  • Hoe ongelooflijk CPU heeft SQL Server nodig?

    SQL Server Enterprise wordt verkocht in dual-core en heeft een minimumvereiste van 4 cores per processor of het totale aantal cores van het hoofdforum, al naar gelang wat wenselijker is. Wanneer gelicentieerd zonder SA, kunnen SQL Virtual Instances draaien op het hoogste aantal cores die zijn gelicentieerd voor mobiele telefoons.

    U kunt de direct volgende powershell-software gebruiken om tellergegevens te verzamelen voor nog eens 60 seconden:

    Waarom gebruikt SQL zoveel CPU?

    Hoewel de meeste mogelijke oorzaken van hoge CPU-prestaties zich voordoen in SQL Server, zijn momenteel de meest voorkomende: Hoge logische leesbewerkingen veroorzaakt door tabel- of indexscans, voornamelijk als gevolg van: Verouderde statistieken. Er zijn meestal geen zoekmachines.

     $serverName is gelijk aan "servername"    $teller is gelijk aan @(      ("$serverName" + "Process(sqlservr*)% gebruikerstijd"),      ("$serverName" +"Process(sqlservr*)% geprivilegieerde tijd")    )    Get-Counter -Teller $ Tellers -MaxSamples 30 | Voor iedereen        $_.Tellervoorbeelden

    Hoe beperk ik het CPU-gebruik van SQL?

    De enige manier om ervoor te zorgen dat SQL Server NOOIT >90% CPU gebruikt, is door een of meerdere CPU’s te verwijderen uit de lijst met CPU’s die beschikbaar zijn via SQL Server. U zult hoogstwaarschijnlijk de oplossing “Automatisch” verlaten en alleen een specifieke processor verwijderen. Als ze meer dan 8 keer lang draaien op 100% CPU-gebruik, moet u deze belasting bij voorkeur verminderen.

    Als u merkt dat het grootste deel van de % lidmaatschapstijd consequent meer dan 90% is, betekent dit dat het SQL Server-proces waarschijnlijk hoog CPU-gebruik veroorzaken. Als u echter weet dat %privilegetime beslist boven de 90% ligt, zou dat leiden tot antivirusprogramma’s of andere stuurprogramma’s, een ander besturingssysteemgedeelte van de computer heeft invloed op een deel van het CPU-gebruik. U kunt dankzij uw systeembeheerder werken aan het uitvoeren van een absolute oorzaakanalyse van het gedrag van een dergelijke methode.

  • Stap 2: Identificeer query’s die het CPU-gebruik beïnvloeden

    Hoe betaal ik CPU-gebruik in SQL?

    Studio voor SQL Server-beheer Zodra gebruikers verbinding maken met onze SQL Server of alleen met een Azure SQL-instantie, kunnen ze rechtstreeks naar Rapporten > Prestatiedashboard.performance’ gaan en het huidige en historische CPU-gebruik weergeven. Hier kunt u de sms-berichten bekijken die de meeste bronnen verbruiken en problemen identificeren die mogelijk CPU-problemen veroorzaken.

    Verspil geen tijd met computerfouten.

    Uw computer is traag en u krijgt fouten? Maak je geen zorgen, Restoro kan het repareren. Restoro zoekt uit wat er mis is met uw pc en herstelt Windows-registerproblemen die een breed scala aan problemen voor u veroorzaken. U hoeft geen expert te zijn in computers of software - Restoro doet al het werk voor u. De applicatie detecteert ook bestanden en applicaties die vaak crashen, en stelt je in staat om hun problemen met een enkele klik op te lossen. Klik hier nu op:

  • 1. Download en installeer Reimage
  • 2. Start het programma en klik op "Scannen"
  • 3. Klik op "Repareren" om eventuele fouten te herstellen die door de scan zijn gedetecteerd

  • Als het Sqlservr.exe-plan hoge CPU-prestaties veroorzaakt, stelt u de verantwoordelijke query’s in door uw volgende TOP-query te selecteren:

    KIES tien s.session_id,           r.status,           r.cpu_time,           r.logical_reads,           R. bed,           r.schrijft,           r.total_elapsed_time while (1000*60) "Vorige M",           SUBSTRING (st.TEXT, (r.statement_start_offset per 2) + 1,           ((CAS r.statement_end_offset                IF -1 DAN DATA (ST.TEKST)                ELSE r.statement_end_offset           END elektronische r.statement_start_offset) en 2) + 1) AS statement_text,           COALESCE(QUOTENAME(DB_NAME(st.dbid)) + N'.' + QUOTENAME(OBJECT_SCHEMA_NAME(st.objectid, st.dbid))           + H'.' + QUOTENAME(OBJECT_NAME(st.objectid, st.dbid)), '') AS command_text,           r.team,           s.login_name,           s.hostnaam,           zie strategie naam,           s.last_request_end_time,           op het moment van binnenkomst,           r.open_transaction_countVAN sys.dm_exec_sessions AS sJOIN sys.dm_exec_requests AS r ON r.session_id = s.session_id CROSS-APPLY sys.Dm_exec_sql_text(r.sql_handle) AS stWHERE r.id_session != @@SPIDBESTELLEN OP r.cpu_time DESC

    Stap 3. Update de statistieken

    Zodra u een rapport probeert te krijgen van welke query's uiteindelijk de meeste CPU gebruiken, werkt u de statistieken bij voor elk van de overbelaste tabellen die daarbij betrokken zijn vragen.

    sql cpu-gebruik

    Als SQL Server echt CPU-intensief is, gaat u verder met de specifieke volgende stap.

    Stap 4: voeg mogelijk incompatibele indexen toe

    1. Gebruik de volgende query om hoge CPU-verzoeken te bevestigen die een of meer services bevatten die uiteindelijk niet in het queryplan staan.

       - Registreert de specifieke totale CPU-periode die aan elk verzoek is besteed, net zo mooi als de volgorde van de wensen en het totale aantal met betrekking tot uitvoeringen.KIEZEN       qs_cpu.AS total_worker_time/1000 total_cpu_time_ms,       p.[Tekst],       p.query_plan,       qs_cpu.execution_count,       q.dbid,       R. object identificatie,      q.encrypted AS text_encryptedVAN (SELECT TOP 500 qs. plan_handle,             qs.total_worker_time,              qs.execution_count   VAN sys.dm_exec_query_stats qs   BESTEL DOOR qs.total_worker_time DESC) AS qs_cpu   CROSS-APPLICATIE sys.dm_exec_sql_text(plan_handle) ASq   CROSS-APPLICATIE sys.dm_exec_query_plan (plan_handle) p WHERE p.query_plan.exist('Declare namespace   qplan="http://schemas.microsoft.com/sqlserver/2004/07/showplan";        //qplan:MissingIndexes')=1

      Red uw pc nu. Klik hier om onze Windows-reparatietool te downloaden.