Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Även om körning av SQL Trace medför en prestandakostnad eftersom den använder systemresurser för att samla in data, kan du göra många saker för att minimera dem. Prova följande för att minimera prestandakostnaden för en spårning:
Överväg att använda kommandotolken för att köra spårningar. Att använda ett grafiskt användargränssnitt hindrar prestanda. Mer information finns i sp_trace_create (Transact-SQL).
Undvik att inkludera händelser som inträffar ofta. Begränsa om möjligt spårningen med hjälp av specifika händelseklasser och filter. Om färre spårningshändelser samlas in krävs färre systemresurser för spårning.
Fokusera spårningen så att endast händelser som tillhandahåller relevanta data samlas in. Om spårningen till exempel ska identifiera dödlägen inkluderar du händelseklassen Lock:Deadlock, men inte Lock:Acquired. Om du inkluderar båda händelseklasserna måste spårningen reagera på varje lås som tas och utförandekostnaden fördubblas.
Undvik att samla in dubblettdata. Om du till exempel samlar in SQL:BatchStarted och SQL:BatchCompleted kan du minimera storleken på resultatuppsättningen genom att endast samla in textdata för händelseklassen SQL:BatchStarted .
Använd filter i spårningsdefinitionen. Om du till exempel vet att en viss användare rapporterar långsamma prestanda under ad hoc-frågor skapar du ett filter på LoginName. Ange att filtret endast ska innehålla händelser där LoginName matchar användarnamnet.
Om du behöver köra en spårning för händelser som skapar en betydande inverkan på prestanda kan du överväga att begränsa prestandapåverkan på servern med någon av följande metoder:
Kör spårningar under kortare tidsperioder. Du kan styra hur lång tid en spårning körs genom att aktivera en stopptid. Detta är särskilt viktigt om du inte kan begränsa händelseklasserna eller filtrera en händelse. Om du aktiverar en stopptid ser du till att prestandan inte varar på obestämd tid.
Begränsa storleken på spårningsresultatet. Du kan begränsa spårningsresultatets storlek till en maximal filstorlek. Den här strategin säkerställer att prestandakostnaden stoppas när filstorleksgränsen nås (om filåterställning inte är aktiverad).
Begränsa antalet returnerade händelser. Med SQL Server Profiler kan du begränsa antalet händelser som returneras genom att spara spårningen i en tabell och ange det maximala antalet rader. Spårningsresultat returneras fortfarande till skärmen SQL Server Profiler när det maximala antalet rader har nåtts, men kostnaden för att registrera resultatet till en tabell elimineras.