Server side trace

Oopps! Upgrade your browser pretty please. Oopps! Upgrade your browser pretty please.

Tänkte ta tillfället i akt och slå ett slag för server side trace. Server side tracing har många fördelar framför att köra trace med Profiler.

Den främsta fördelen är att den är betydligt mindre resurskrävande. En server side trace har en nästintill obetydlig påverkan på serverns prestanda medan en trace med Profiler faktiskt har viss inverkan. Den som vill veta mer om detta kan läsa här: Personligen tycker jag att server side trace även är mycket mer flexibel. T. ex. kan man med hjälp av SQL Server Agent schemalägga en trace med start tid och skripta in stop tid.
En fördel om man inte vill sitta uppe kl 03.30 en lördagsnatt med profiler i högsta hugg för att starta en trace…

En annan sak som talar emot att köra trace med Profiler är det faktum att den temporärt lagrar resultatet under användarens profil vilket kan resultera i att man fyller upp diskutrymme snabbt om man har en hårt belastad server, något jag själv råkade ut för en gång för länge sedan innan jag visste bättre, och att fylla upp C: brukar sällan vara en god idé.

Om man, för att undvika ovanstånde, kör Profiler från en annan dator och inte direkt på servern skall man vara medveten om att man istället förbrukar bandbredd som står i direkt proportion till belastningen på servern. Nu vill jag inte påstå att man aldrig skall använda Profiler. Om man tex snabbt vill köra en trace för att studera något specifikt under en begränsad tid så är det troligtvis enklare att bara använda Profiler, göra det man skall och sedan stoppa tracen. Att skapa en server side trace är enkelt. Använd Profiler för att göra alla inställningar, skripta ut trace definitionen, editera lämpliga parametrar och starta sedan din trace i ett queryfönster eller schemalägg med SQL Server Agent. Oavsett vilket man väljer så skall man alltid se till att filtrera noga annars riskerar man att datamängden blir väldigt stor och med det även ens möjligheter att hitta det man söker.