Sdílet prostřednictvím


Optimalizace trasování SQL

platí pro:SQL Server

Přestože spuštění trasování SQL způsobuje náklady na výkon, protože ke shromažďování dat používá systémové prostředky, můžete je minimalizovat mnoha způsoby. Chcete-li minimalizovat zátěž výkonu způsobenou trasováním, vyzkoušejte následující:

  • Zvažte použití příkazového řádku ke spuštění trasování. Použití grafického uživatelského rozhraní brání výkonu. Další informace najdete v tématu sp_trace_create (Transact-SQL).

  • Vyhněte se zahrnutí událostí, ke kterým dochází často. Pokud je to možné, zužte trasování pomocí konkrétních tříd a filtrů událostí. Pokud se shromažďuje méně událostí trasování, pro podporu trasování se vyžaduje méně systémových prostředků.

  • Zaměřte se na sledování a pouze shromažďujte ty události, které poskytují relevantní data. Pokud například potřebujete, aby vaše trasování identifikovalo vzájemné zablokování, zahrňte třídu událostí Lock:Deadlock, ale ne třídu událostí Lock:Acquired. Pokud zahrnete obě událostní třídy, sledování musí reagovat na každý získaný zámek a vaše výpočetní náklady se zdvojnásobí.

  • Vyhněte se shromažďování duplicitních dat. Pokud například shromažďujete SQL:BatchStarted a SQL:BatchCompleted, můžete minimalizovat velikost sady výsledků shromažďováním textových dat pouze pro třídu událostí SQL:BatchStarted .

  • Použijte filtry v definici trasování. Pokud například víte, že určitý uživatel hlásí nízký výkon během ad hoc dotazů, vytvořte filtr pro LoginName. Nastavte filtr tak, aby zahrnoval pouze události, ve kterých loginName odpovídá danému uživatelskému jménu.

Pokud potřebujete spustit trasování událostí, které vytvářejí významný dopad na výkon, zvažte omezení dopadu výkonu na server pomocí jedné z následujících metod:

  • Spusťte trasování po kratší časové období. Délku trvání trasování můžete řídit umožněním nastavení času zastavení. To je zvlášť důležité, pokud nemůžete omezit třídy událostí nebo filtrovat událost. Povolením doby zastavení zajistíte, že výkon nevydržuje neomezeně dlouho.

  • Omezte velikost výsledků trasování. Velikost výsledků trasování můžete omezit na maximální velikost souboru. Tato strategie zajišťuje, že při dosažení limitu velikosti souboru se zastaví výkonnostní zátěž (pokud není povoleno přetáčení souboru).

  • Omezte počet vrácených událostí. Pomocí SQL Server Profileru můžete omezit počet událostí vrácených uložením trasování do tabulky a nastavením maximálního počtu řádků. Výsledky trasování se po dosažení maximálního počtu řádků stále vrací na obrazovku sql Serveru Profiler, ale náklady na zaznamenávání výsledků do tabulky se eliminují.

Viz také

Filtrovat trasu