Hej,
Jag kommer att förklara hur man felsöker prestandaproblem för SQL Server i den här artikelserien.
Felsökning av SQL-serverprestanda
Det förväntas lösa prestandaproblem av DBA ( Database Administrator ) när prestandaklagomål i SQL Server - databasen börjar öka . Innan du kan lösa prestandaproblemet måste du ta reda på vad problemet är och varför det uppstår.
Övervaka SQL Server-databas via SP_WhoIsActive
En eller flera av följande åtgärder bör användas för att identifiera problemet.
- Övervaka databas via SP_WhoIsActive eller FogLight etc programvara från tredje part
- Övervaka databas och instanser via Activity Monitor
- Övervaka prestandaräknare via PERFMON och undersök laddningsstatus
- Granska SQL Server Errorlog-filen
- Använd DMV ( Dynamic Management View ) och DMF ( Dynamic Management Function ) för att analysera databasen i detalj
- Undersök realtidsaktiviteter i en databas med SQL Server Profiler
- Granska databas i detalj och rapportering via verktyget SQLDIAG och RML Utilities
- Felsök prestandaproblem
Övervaka databas via FogLight
DBA ( Databas Administrator ) bör göra realtidsövervakning av databasen för alltid. Att göra realtidsövervakning av databasen är möjligt via Real Time Monitoring Software som FogLight eller lagrade procedurer som SP_WhoIsActive.
Foglight tillhandahåller GUI och några användbara realtidsövervakning och varningar. Men det är inte gratis och om du tänker på ditt företag och om du har många viktiga databaser rekommenderar jag att du kan använda den här programvaran för att övervaka databasen i realtid.
Men om det inte finns någon budget för detta och ditt företag inte är stort. Använd den inte eftersom den är väldigt dyr.
Jag rekommenderar dig att skapa SP_WhoIsActive och övervaka databas via denna lagrade procedur. SP_WhoIsActive lagrade proceduren, skriven av Adam mekaniker, är tillgänglig gratis och ger information om de aktuella sessionssessionerna och SQL:er. Efter att ha skapat SP_WhoIsActive manuellt i databasen kan du köra den enligt följande.
Du kan granska följande kritiska och viktiga funktioner för alla sessioner via SP_WhoIsActive.
- SQL-text
- Vänteinformation
- Status för blockering av session
- CPU-användning
- TempdDB-tilldelning
- Sessionens längd och inloggningstid
- Inloggningsnamn och maskinnamn
- Procent slutfört
- Status
Du kan ladda ner den senaste SP_WhoIsActive med den här länken.
Ladda ner SP_WhoIsActive och kopiera och klistra in dessa SP i SSMS (SQL Server Management Studio) och kör och skapa SP_WhoIsActive, sedan kan du använda det.
Granska SQL Server Errorlog-filen
Fel som uppstår på SQL Server-instanserna kan hittas genom att undersöka felloggarna. Du kan se felloggarna från databasen enligt följande.
Om du inte kan komma åt instans kan du hitta felloggfilerna i standardsökvägen nedan.
C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log
Jag kommer att fortsätta att förklara SQL-serverns prestandafelsökning i nästa artikel.