Sdílej nyní:

 

Obsah skrýt

1. Úvod do SQL Server profil

1.1 Co je SQL Server Profiler a proč ho potřebujeme?

SQL Server Profiler je nástroj s grafickým uživatelským rozhraním pro monitorování a zachycování událostí, ke kterým dochází v SQL ServerTato výkonná diagnózaostNástroj ic umožňuje správcům databází a vývojářům sledovat aktivitu databázového enginu v reálném čase, což pomáhá identifikovat úzká místa ve výkonu, řešit problémy s aplikacemi a auditovat bezpečnostní události.

SQL Server profil

1.2 SQL Server Profiler v roce 2025: Současný stav a alternativy

Zastaralé od Microsoftu SQL Server Profilerytarting s SQL Server 2016, doporučující Rozšířené události jako náhradní technologii. Nástroj však zůstává v současné době k dispozici SQL Server verze včetně SQL Server 2022 a je stále široce používán databázovými profesionály.

1.3 Pro koho je tato příručka určena

  • Tato příručka slouží správcům databází, kteří potřebují monitorovat SQL Server instance, diagnostikovat problémy s výkonem a zajistit spolehlivost systému. DBA zde naleznou praktické rady pro zachycování trasování, analýzu událostí a implementaci strategií monitorování.
  • Vývojáři aplikací těží z pochopení toho, jak jejich kód interaguje s SQL ServerSQL Profiler pomáhá vývojářům identifikovat neefektivní dotazy, ověřovat chování aplikací a ladit chyby související s databází.
  • Analytici a konzultanti výkonu se seznámí s pokročilými technikami pro analýzu pracovní zátěže, plánování kapacity a optimalizaci systému. Komplexní pokrytí konfigurace trasování, filtrování a analýzy umožňuje důkladné posouzení výkonu databáze.

2. Porozumění SQL Server Základy profilování

2.1 Jak SQL Server Profiler Works

SQL Server Profiler funguje jako klientská aplikace, která se připojuje k enginu SQL Trace běžícímu v rámci SQL ServerPři vytváření trasování databázový engine monitoruje zadané události a zaznamenává je podle vaší konfigurace. Trasovací engine shromažďuje data událostí s minimálním dopadem na výkon serveru, pokud je správně nakonfigurován.

Základní infrastruktura SQL Trace používá v celém databázovém enginu odlehčené event hooky. Když dojde k události, která odpovídá vaší definici trasování, engine zachytí relevantní informace a buď je odešle do rozhraní Profileru, nebo je uloží do souboru či tabulky. Tato architektura umožňuje flexibilní sběr dat bez úpravy kódu aplikace.

2.2 Klíčové pojmy a terminologie

Události 2.2.1

Události představují konkrétní výskyty v rámci SQL Server které může trasovací engine zachytit. Každá událost odpovídá konkrétní databázové operaci nebo aktivitě systému. SQL Server Profiler organizuje události do logických kategorií pro snazší konfiguraci.

Mezi běžné kategorie událostí patří TSQL pro provádění dotazů, uložené procedury pro volání procedur, zámky pro monitorování souběžnosti a chyby a varování pro sledování výjimek. Výběr vhodných událostí určuje, jaké informace trasování zachycuje, a přímo ovlivňuje užitečnost a výkon trasování.

Pochopení typů událostí vám pomůže konfigurovat efektivní trasování. Události RPC:Completed zachycují dokončení volání vzdálených procedur, události SQL:BatchCompleted sledují dávky ad-hoc dotazů a události Lock:Deadlock identifikují výskyty deadlocků. Vyberte události, které odpovídají vašim specifickým cílům řešení problémů nebo monitorování.

2.2.2 Datové sloupce

Datové sloupce definují, jaké informace trasování zachycuje pro každou událost. Mezi běžné sloupce patří TextData pro skutečný příkaz SQL, Duration pro dobu provádění, CPU pro využití procesoru, Reads pro čtení logického disku a Writes pro zápisy na logický disk.

Základní sloupce se liší podle případu použití. Řešení problémů s výkonem obvykle vyžaduje sloupce Duration (Trvání), CPU (CPU), Reads (Čtení) a Writes (Zápisy). Audit zabezpečení vyžaduje sloupce LoginName (LoginName), DatabaseName (Název databáze) a ObjectName (Název objektu). Ladění aplikací těží ze sloupců ApplicationName (ApplicationName), SPID (SPID) a Error (Error).

Výběr pouze nezbytných sloupců snižuje režijní náklady na trasování a zjednodušuje analýzu. Vyhněte se zaznamenávání všech dostupných sloupců, pokud to není výslovně nutné. Každý další sloupec zvyšuje množství shromážděných a zpracovaných dat, což může mít dopad na výkon serveru.

Filtry 2.2.3

Filtry omezují, které události trasování zachycuje, na základě zadaných kritérií. Správně nakonfigurované filtry dramaticky snižují objem trasování, což usnadňuje analýzu a minimalizuje dopad na výkon. Filtry vyhodnocují data událostí před zachycením, čímž zabraňují zbytečnému shromažďování dat.

Mezi běžná kritéria filtrování patří DatabaseName (Název databáze) pro zaměření na konkrétní databáze, ApplicationName (Název aplikace) pro izolaci konkrétních aplikací, Duration (Duration) pro zachycení pouze pomalých operací a LoginName (Název přihlášení) pro sledování konkrétních uživatelů. Kombinací více filtrů vznikají přesné definice trasování, které zachycují přesně to, co potřebujete.

Filtrování zaměřené na výkon je pro produkční prostředí nezbytné. Vždy filtrujte podle názvu databáze nebo názvu aplikace, abyste zabránili zachycení aktivity systému. Nastavte minimální prahové hodnoty trvání, abyste ignorovali rychle se provádějící dotazy. Filtry TextData používejte opatrně, protože vyžadují porovnávání řetězců, které zvyšuje režijní zátěž.

2.2.4 Šablony trasování

Šablony trasování poskytují předkonfigurované výběry událostí, sloupců a filtrů pro běžné scénáře. SQL Server Profiler obsahuje několik vestavěných šablon, které slouží jakotarbody pro vytváření trasování. Vlastní šablony ukládají vaše konfigurace pro opětovné použití v rámci více trasovacích relací.

Standardní šablona zachycuje obecnou sadu událostí vhodných pro základní monitorování. Šablona TSQL se zaměřuje na provádění dotazů s minimálními režijními náklady. Šablona Tuning shromažďuje události speciálně pro analýzu pomocí Database Engine Tuning Advisor. Každá šablona vyvažuje zachycení informací s dopadem na výkon.

Vytváření vlastních šablon šetří čas a zajišťuje konzistenci napříč relacemi trasování. Nakonfigurujte trasování s preferovanými událostmi, sloupci a filtry a poté jej uložte jako šablonu. Vlastní šablony jsou obzvláště cenné, když opakovaně řešíte podobné problémy.

3. Získání Stars SQL Server profil

3.1 Systémové požadavky a předpoklady

SQL Server Profiler je dodáván s SQL Server Management Studio a podporuje všechny aktuálně spravované SQL Server verze, od SQL Server 2016 na 2022.

Požadavky na oprávnění určují, kdo může vytvářet a spouštět trasování. Členové pevné role serveru s rolí sysadmin mají neomezený přístup k SQL Server Funkce profileru. Pro uživatele bez oprávnění správce systému umožňuje oprávnění ALTER TRACE vytvářet a spravovat trasování.

Při trasování vzdálených serverů je třeba zohlednit síťové aspekty. Trasování na straně klienta vyžaduje nepřetržité síťové připojení mezi vaší pracovní stanicí a SQL Server instance. Přerušená připojení zastaví trasování na straně klienta a potenciálně vedou ke ztrátě zachycených dat. Trasování na straně serveru se tomuto omezení vyhýbá tím, že běží výhradně na databázovém serveru.

3.2 Jak spustit SQL Server profil

S 3.2.1tarod SQL Server Management Studio (SSMS)

Pro spuštění postupujte podle těchto kroků SQL Server Profiler ze SSMS:

  1. Otevřená SQL Server Management Studio a připojte se k libovolnému SQL Server instance.
  2. Klepněte na tlačítko Tools nabídku v horní liště nabídek.
  3. vybrat SQL Server profil z rozbalovací nabídky.
  4. Jedno SQL Server Aplikace Profiler se spustí v novém okně.

Start SQL Server Profiler v SQL Server Studio pro správu.

S 3.2.2tarz Windows Start Nabídka

Získat přístup SQL Server Profiler přímo z Windows pomocí těchto kroků:

  1. Klikněte na Okna Home .
  2. Typ SQL Server profil do vyhledávacího pole.
  3. vybrat SQL Server profil z výsledků vyhledávání.
  4. Aplikace se spustí bez aktivních připojení.

Start SQL Server Profiler z vyhledávacího pole Windows.

Nebo se můžete pohybovat po Start menu hierarchy:

  1. Otevřete Home menu.
  2. Vyhledejte Microsoft SQL Server Tools složka.
  3. Rozbalte složku a klikněte na SQL Server profil.

Start SQL Server Profiler z Windowstarmenu.

3.2.3 Připojení k SQL Server Instance

Po spuštění SQL Server Profiler, navažte připojení podle těchto kroků:

  1. klikněte Soubor v panelu nabídek.
  2. vybrat Nová stopa z rozbalovací nabídky.
  3. Jedno Připojte se k serveru zobrazí se dialogové okno.
  4. Zadejte název svého serveru do Název serveru pole.
  5. Vybrat ověřování systému Windows or SQL Server Ověřování.
  6. Pokud používáte SQL Server Ověření, zadejte své přihlašovací údaje.
  7. klikněte mítinky Connect spojení.

Připojit k a SQL Server instance v SQL Server Profiler.

Pro vzdálená připojení zadejte celý název serveru, včetně názvu instance, pokud je to relevantní.cabnapř. Pro pojmenované instance použijte formát NÁZEVSERVERU\NÁZEVINSTANCE. Pokud se pokusy o připojení nezdaří, ověřte síťové připojení a nastavení firewallu.

4. Vytvoření a konfigurace SQL Server Stopy

4.1 Vytvoření prvního obkreslení pomocí šablony

Vytvořte si první stopu pomocí těchto kroků:

  1. zahájit SQL Server Profiler.
  2. klikněte Soubor -> Nová stopa a připojte se k vašemu tarzískat server.
  3. Jedno Vlastnosti trasování zobrazí se dialogové okno.
  4. Zadejte popisný název do Název trasování pole.
  5. Vyberte šablonu z Použijte šablonu dropdown.
  6. Vyberte Standardní (výchozí) šablona pro obecné monitorování. Nebo jiná šablona pro jiné účely. Šablona poskytuje předkonfigurované události, sloupce a filtry pro běžné scénáře.
  7. klikněte Běh na starokamžité zachycení událostí.

Nastavte vlastnosti trasování v SQL Server Profiler.

4.2 Přizpůsobení trasování

Šablony často nemohou splňovat vaše požadavky. V takovém případě si můžete trasování plně přizpůsobit:

  1. v Vlastnosti trasování dialog.
  2. Vybrat Prázdný šablona z Použijte šablonu dropdown.Pro trasování použijte prázdnou šablonu.
  3. Klepněte na tlačítko Výběr událostí nyní si můžete přizpůsobit všechny události, datové sloupce a filtry podle svých požadavků. Probereme je v následujících částech.
    Upravte si trasování na kartě „Výběr událostí“ v dialogovém okně „Vlastnosti trasování“.

4.3 Výběr událostí k zachycení

Událost si můžete vybrat v Výběr událostí Karta:

  1. Klepněte na tlačítko + ikonu vedle kategorie Událost ji rozbalte.
  2. Kliknutím na zaškrtávací políčko vedle události ji vyberete.

V dialogovém okně „Vlastnosti trasování“ vyberte událost.

4.3.1 Pochopení kategorií událostí

SQL Server Profiler organizuje události do kategorií pro logické seskupení. Kategorie Uložené procedury zahrnuje události pro provádění procedur včetně SP:S.tarting, SP:Completed a SP:StmtCompleted. Tyto události sledují volání uložených procedur a provádění jednotlivých příkazů v rámci procedur.

Kategorie TSQL zachycuje provádění ad-hoc dotazů s událostmi jako SQL:BatchS.tarting a SQL:BatchCompleted. Tyto události sledují dotazy odeslané přímo do SQL Server mimo uložené procedury.

Kategorie Zámky monitoruje události související se souběžností, včetně Lock:Acquired, Lock:Released, Lock:Deadlock a Lock:Timeout. Tyto události slouží k diagnostice problémů s blokováním a zablokováním, které ovlivňují výkon aplikace.

Kategorie Chyby a varování zachycuje výjimečné události, včetně Výjimky, Upozornění a Uživatelské chybové zprávy. Tyto události pomáhají identifikovat chyby aplikace a SQL Server varování během trasovacích relací.

4.3.2 Výběr správných událostí pro váš scénář

Monitorování výkonu vyžaduje události, které zachycují spotřebu zdrojů. Vyberte RPC:Completed a SQL:BatchCompleted pro sledování provádění dotazů. Zahrňte sloupce Trvání, CPU, Čtení a Zápisy pro měření využití zdrojů. Tyto události poskytují základ pro identifikaci úzkých míst ve výkonu.

Audit zabezpečení vyžaduje události, které sledují ověřování a autorizaci. Vyberte možnosti Audit přihlášení, Audit odhlášení, Audit přihlášení selhal a Objekt:Otevřeno pro sledování přístupu k databázi. Zahrňte sloupce LoginName, DatabaseName a ObjectName pro identifikaci toho, kdo přistupoval k jakým zdrojům.

Ladicí scénáře těží z komplexního zachycení událostí. Zahrňte události uložených procedur, dávkové události SQL a chybové události pro sledování kompletních toků provádění. Zachyťte další kontext pomocí SPID, ApplicationName a H.ostPojmenujte sloupce pro korelaci událostí s konkrétními relacemi.

4.4 Konfigurace datových sloupců

Ve výchozím nastavení se při výběru události vyberou (zaškrtnou) všechny její datové sloupce. Zrušením výběru nepotřebných sloupců můžete snížit režijní náklady a zjednodušit analýzu:

V dialogovém okně „Vlastnosti trasování“ vyberte/zrušte výběr datových sloupců pro událost.

Mezi základní sloupce pro každé trasování patří EventClass pro identifikaci typu události, TextData pro zachycení skutečného příkazu SQL, LoginName pro identifikaci provádějícího uživatele a S.tarČas pro označení, kdy k události došlo. Tyto sloupce poskytují základní kontext pro každou zaznamenanou událost.

Sloupce související s výkonem měří spotřebu zdrojů. Trvání udává, jak dlouho událost trvala v mikrosekundách. CPU ukazuje čas procesoru v milisekundách. Čtení počítá přečtení logických stránek. Zápisy sleduje zápisy logických stránek. Tyto metriky identifikují operace náročné na zdroje, které vyžadují optimalizaci.

Sloupce zabezpečení a auditu sledují vzorce přístupu k datům. DatabaseName identifikuje, ke které databázi byl přístup proveden. ObjectName určuje příslušnou tabulku nebo objekt. ApplicationName odhaluje, která aplikace aktivitu zahájila. Tyto sloupce společně poskytují komplexní auditní záznamy.

4.5 Nastavení filtrů pro snížení šumu

4.5.1 Běžná kritéria filtrování

Nakonfigurujte filtry pomocí následujícího postupu:

  1. Otevřete Vlastnosti trasování dialog.
  2. Klepněte na tlačítko Výběr událostí Karta.
  3. klikněte Filtry sloupců tlačítko v pravém dolním rohu.
    V dialogovém okně „Vlastnosti trasování“ klikněte na tlačítko „Filtry sloupců“.
  4. Vyberte sloupec ze seznamu vlevo.
  5. Nakonfigurujte kritéria filtrování v panelu vpravo.
    Nastavte filtr pro datový sloupec v dialogovém okně „Vlastnosti trasování“.
  6. klikněte OK pro použití filtru.

Filtry názvů aplikací izolují aktivitu od konkrétních aplikací. V dialogovém okně filtru rozbalte sloupec Název aplikace a do pole zadejte název aplikace. Like pole a SQL Server Profiler zachycuje pouze události z dané aplikace. Tento filtr se ukazuje jako neocenitelný při řešení problémů specifických pro danou aplikaci.

Filtry názvů databází omezují zachycení na konkrétní databáze. Filtrujte podle názvu databáze, chcete-li vyloučit aktivitu systémových databází a zaměřit se na databáze aplikací. Zadejte názvy databází do Like or Rovnat se pole v závislosti na tom, zda potřebujete porovnávání zástupných znaků.

Filtry trvání zachycují pouze pomalu probíhající operace. Nastavte minimální prahovou hodnotu v Větší nebo rovno pole ve sloupci Trvání. Například nastavení Trvání >= 1000 zachytí pouze události trvající déle než jednu sekundu a odfiltruje rychle se provádějící dotazy.

Filtry uživatelských jmen sledují aktivitu konkrétních uživatelů. Filtrujte podle přihlašovacího jména pro sledování konkrétních uživatelů databáze. Tento přístup pomáhá identifikovat, kteří uživatelé provádějí problematické dotazy nebo přistupují k citlivým datům.

4.4.2 Nejlepší postupy pro filtrování

Efektivní filtrování vyvažuje zachycení dat s dopadem na výkon. Vždy použijte alespoň jeden filtr, abyste zabránili zachycení nadměrné systémové aktivity. Filtry DatabaseName a ApplicationName by měly být vašetarbod pro most stopy.

V produkčním prostředí se vyhněte příliš širokým trasám. Nefiltrované trasy zachycují obrovské objemy dat, což může snižovat výkon serveru a znemožňovat analýzu. Nastavte specifická kritéria filtrování, která… tarzjistěte si cíle pro řešení problémů.

Před nasazením do produkčního prostředí otestujte filtry. Nejprve spusťte trasování ve vývojovém nebo testovacím prostředí, abyste ověřili, zda filtry zachycují očekávané události bez nadměrné režie. Upravte kritéria filtrování na základě objemu zachycených dat.

4.5 Práce s šablonami trasování

4.5.1 Přehled vestavěných šablon

Standardní šablona poskytuje vyvážený záznam událostí vhodný pro obecné monitorování. Zahrnuje běžné události provádění dotazů, volání uložených procedur a základní sledování chyb. Tuto šablonu použijte, když potřebujete komplexní přehled, aniž byste přesně věděli, co hledat.

Šablona TSQL se zaměřuje konkrétně na provádění dotazů s minimálním výběrem událostí. Zachycuje události SQL:BatchCompleted a RPC:Completed s nezbytnými sloupci pro analýzu výkonu. Tato šablona nabízí nižší režijní náklady než standardní šablona.

Šablona pro ladění optimalizuje výběr událostí pro analýzu nástroje Database Engine Tuning Advisor. Zachycuje události a sloupce potřebné pro analýzu pracovní zátěže a doporučení indexů. Tuto šablonu použijte při přípravě trasování pro automatické ladění výkonu.

Šablona TSQL_Replay obsahuje všechny události a sloupce nezbytné pro funkci přehrávání trasování. Zachycuje komplexní podrobnosti o provádění, což umožňuje reprodukovat zachycené úlohy v testovacích prostředích. Tato šablona generuje větší soubory trasování díky rozsáhlému sběru dat.

4.5.2 Vytváření vlastních šablon

Vytvořte si vlastní šablony podle těchto kroků:

  1. klikněte Soubor -> Šablony -> Nová šablona …
  2. Zadejte popisný název do Název nové šablony pole.
  3. Volitelně zaškrtněte Nová šablona bude založena na stávající šabloně a pokud nechcete stavět od nuly, vyberte existující šablonu:
    Vytvořte novou šablonu v SQL Server Profiler.
  4. Klepněte na tlačítko Výběr události kartu, přizpůsobte si šablonu trasování požadovanými událostmi, sloupci a filtry stejně jako vy udělat s normální stopou.
  5. klikněte Uložit pro uložení šablony.

Export šablon pro sdílení s členy týmu nebo pro účely zálohování:

  1. klikněte Soubor -> Šablony -> Exportovat šablonu.
  2. Vyberte šablonu, kterou chcete exportovat.
    Export šablony trasování v SQL Server Profiler.
  3. Přejděte na požadované místo pro uložení.
  4. Zadejte název souboru a klikněte Uložit.
  5. Sdílejte soubor *.tdf (SQL Server soubor šablony profileru) s dalšími SQL Server Uživatelé profileru.

4.6 Uložení výstupu trasování

Ve výchozím nastavení SQL Server Profiler zobrazí události v okně trasování, ale NEBUDE je ukládat. Data trasování můžete uložit do souboru nebo tabulky v Vlastnosti trasování dialogové okno při vytváření nové trasy.

4.6.1 Uložit do souboru

  1. v Vlastnosti trasování dialog, kontrola Uložit do souboru.
  2. Kliknutím na ikonu složky otevřete prohlížeč souborů.
  3. Přejděte na požadované místo pro uložení.
  4. Zadejte název souboru s příponou .trc.
  5. klikněte Uložit.
  6. sada Nastavit maximální velikost souboru omezit velikost jednotlivých souborů.
  7. umožnit Povolit přehrávání souborů vytvořit více souborů.
  8. Volitelně povolit Server zpracovává trasovací data pro trasování na straně serveru.

V dialogovém okně „Vlastnosti trasování“ nastavte ukládání dat trasování do souboru.

Správa velikosti souborů zabraňuje vyčerpání místa na disku. Nastavte maximální velikost souboru na rozumnou hodnotu, například 500 MB nebo 1 GB, na základě dostupného místa na disku a očekávané doby trasování. Funkce cross-to-file automaticky vytvoří nové soubory po dosažení limitu velikosti a k ​​názvu souboru připojí číslo.

4.6.2 Uložit do tabulky

  1. v Vlastnosti trasování dialog, kontrola Uložit do tabulky.
  2. Jedno Tabulka cílů zobrazí se dialogové okno.
    Vyberte cílovou tabulku pro uložení trasovacích dat.
  3. Vyberte server z Server dropdown.
  4. Vyberte databázi z Databáze dropdown.
  5. Vyberte existující tabulku nebo zadejte nový název tabulky do pole Tabulka pole.
  6. klikněte OK potvrdit.
  7. Volitelně nastavit Nastavit maximální počet řádků omezit velikost tabulky.

V dialogovém okně „Vlastnosti trasování“ nastavte ukládání dat trasování do tabulky.

Při ukládání do tabulek je třeba zohlednit výkon. Ukládání do tabulek představuje ve srovnání s ukládáním do souborů dodatečnou režii, protože SQL Server Trasovací data je nutné zapisovat pomocí úložného modulu. Tabulkové úložiště použijte, když potřebujete trasovací data okamžitě dotazovat pomocí T-SQL.

Uchovávání dat je pro trasování založené na tabulkách důležité. Nastavte maximální počet řádků, abyste zabránili přílišnému narůstání tabulek. Pravidelně archivujte nebo mažte stará trasovací data, abyste zachovali výkon. Pro lepší správu zvažte rozdělení velkých trasovacích tabulek do oddílů.

5. Řízení a řízení SQL Server Stopy

S 5.1tarZastavení, pozastavení a pozastavení trasování

Správa provádění trasování pomocí tlačítek na panelu nástrojů:Správa tras pomocí tlačítek na panelu nástrojů v SQL Server Profiler.

  • Zelená Home tlačítko začne zaznamenávat události podle vaší konfigurace.
  • klikněte Pauza do tempararsnadno pozastavit sběr dat bez ztráty připojení.
  • klikněte Stop pro ukončení trasování a uzavření spojení.

Prostřednictvím položek nabídky:
Správa trasování pomocí položek nabídky v SQL Server Profiler.

Kliknutím pravým tlačítkem myši na libovolnou položku v okně trasování:

Správa trasování pomocí položek nabídky po kliknutí pravým tlačítkem myši v SQL Server Profiler.

Správa životního cyklu trasování má vliv na zdroje serveru. Aktivní trasování spotřebovává paměť a výpočetní výkon úměrně k objemu zachycených událostí. Pozastavte trasování v obdobích, kdy není monitorování potřeba, abyste snížili režijní náklady. Po dokončení analýzy trasování zcela zastavte, abyste uvolnili zdroje.

Trasování na straně klienta vyžaduje aktivní připojení k Profileru. Zavření SQL Server Okno Profileru okamžitě zastaví trasování na straně klienta. Minimalizujte okno Profileru namísto jeho zavírání, aby trasování zůstalo spuštěné i při práci v jiných aplikacích.

5.2 Monitorování trasování v reálném čase

Sledujte zachycené události v okamžiku jejich výskytu v hlavním okně trasování. Každý řádek představuje jednu událost a sloupce zobrazují vlastnosti události. Mřížka se během aktivních trasování průběžně aktualizuje a zobrazuje most ve výchozím nastavení se nedávné události zobrazují dole.

Monitor trasování v reálném čase SQL Server Profiler.

Identifikujte vzorce a problémy pozorováním četnosti a charakteristik událostí. Události s dlouhou dobou trvání naznačují problémy s výkonem. Časté chybové události naznačují problémy s aplikacemi. Neobvyklá aktivita přihlašování může signalizovat bezpečnostní obavy. Monitorování v reálném čase umožňuje okamžitou reakci na vznikající problémy.

Procházejte zaznamenanými událostmi a prozkoumejte konkrétní výskyty. Kliknutím na libovolný řádek vyberte událost a zobrazte její kompletní podrobnosti. Dvojitým kliknutím na události otevřete podrobná dialogová okna vlastností zobrazující všechny hodnoty sloupců. Pomocí funkce Scroll Lock zabráňte automatickému posouvání při prohlížení historických událostí.

5.3 Správa více souběžných trasování

Současné spouštění více trasování poskytuje flexibilitu pro složité scénáře monitorování. Vytvořte samostatná trasování pro různé aspekty aktivity databáze, například jedno trasování pro monitorování výkonu a druhé pro audit zabezpečení. Každé trasování běží nezávisle s vlastní konfigurací.

Správa více souběžných trasování v SQL Server Profiler.

Alokace zdrojů se stává kritickou u více trasování. Každé aktivní trasování spotřebovává paměť, CPU a potenciálně i diskové I/O operace. Omezte počet souběžných trasování a zajistěte, aby každé trasování používalo vhodné filtry, aby se minimalizovala režie. Sledujte výkon serveru při spouštění více trasování.

Koordinujte načasování trasování, abyste zabránili překrývání trasování s vysokou režijní zátěží. Pokud je to možné, spusťte trasování náročné na zdroje v obdobích s nízkou aktivitou. Naplánujte různá trasování v různou dobu, místo abyste spouštěli vše současně.

5.4 Trasování na straně klienta vs. trasování na straně serveru

Ve výchozím nastavení je nově vytvořená trasa trasou na straně klienta, která vyžaduje aktivní připojení od SQL Server Profiler k databázovému serveru. Trasování se okamžitě zastaví, pokud je připojení přerušeno.ost nebo je Profiler zavřený.

Můžete také vytvořit trasování na straně serveru, které běží výhradně na SQL Server instance bez nutnosti aktivního připojení k Profileru. Trasování na straně serveru pokračuje i po zavření. SQL Server Profiler, zapisující data do zadaného umístění souboru.

Vytvoření trasování na straně serveru:

  1. Klikněte na Soubor -> Nová trasa…
  2. v Vlastnosti trasování dialog, kontrola Uložit do souboru
  3. Nastavte umístění souboru a další nastavení.
  4. umožnit Server zpracovává trasovací data vytvořit trasování na straně serveru.

Vytvořte trasování na straně serveru v SQL Server Profiler.

Důsledky pro výkon se u jednotlivých typů trasování výrazně liší. Trasování na straně klienta musí přenášet data přes síť do rozhraní Profileru, což zvyšuje latenci a spotřebu šířky pásma. Trasování na straně serveru představuje menší režijní zátěž, protože data se zapisují přímo na disk na serveru.

Používejte trasování na straně klienta pro ad-hoc řešení problémů a rychlou diagnostikuostIC relace a situace, kde je okamžitá vizuální zpětná vazba cenná. Pro monitorování produkce, dlouhodobé zachycení dat a scénáře vyžadující bezobslužný provoz zvolte trasování na straně serveru.

6. Analýza SQL Server Data profileru

6.1 Otevření a prohlížení uložených tras

Načtěte uložené soubory trasování pomocí těchto kroků:

  1. zahájit SQL Server Profiler.
  2. klikněte Soubor -> Otevřená -> Trasovací soubor.
  3. Přejděte do umístění souboru trasování.
  4. Vyberte soubor .trc a klikněte na Otevřená.
  5. Trasovací data se načtou do hlavního okna.

Načtěte trasovací tabulky podle tohoto postupu:

  1. klikněte Soubor -> Otevřená -> Tabulka trasování.
  2. Připojení k serveru hostprocházení tabulky trasování.
  3. Vyberte databázi z Databáze dropdown.
  4. Vyberte si stůl z Tabulka dropdown.
  5. klikněte OK načíst data.

6.2 Filtrování a vyhledávání trasovacích dat

6.2.1 Post-Filtrování zachycení

Použijte filtry na načtená data trasování pomocí těchto kroků:

  1. klikněte Změnit -> Najít nebo stiskněte tlačítko Ctrl + F.
  2. Zadejte hledaný text do Najít to, co pole.
  3. Vyberte sloupec, ve kterém chcete vyhledávat Podívejte se do dropdown.
  4. klikněte Najít další najít odpovídající události.

Najít trasovací data v SQL Server Profiler.

Filtrování podle sloupců zpřesňuje zobrazená data bez opětovného zachycení událostí. Klikněte pravým tlačítkem myši na záhlaví libovolného sloupce a v kontextové nabídce vyberte možnosti filtrování. Zadejte kritéria filtrování pro zobrazení pouze odpovídajících řádků. Tento přístup urychluje analýzu skrytím irelevantních událostí.

6.2.2 Hledání konkrétních událostí

Funkce vyhledávání pomáhá najít konkrétní události ve velkých souborech trasování. Pomocí dialogového okna Hledat můžete vyhledávat podle textového obsahu, typu události nebo hodnoty sloupce. Regulární výrazy v případě potřeby umožňují složité vyhledávací vzory.

Uložte si důležité události do záložek pro rychlý přístup během analýzy. Klikněte pravým tlačítkem myši na zajímavé události a vyberte možnosti záložek, abyste je označili. Mezi záložkami se pohybujte pomocí klávesových zkratek nebo příkazů nabídky, což usnadňuje porovnávání souvisejících událostí.

6.3 Seskupování a agregace událostí

Seskupujte události podle hodnot sloupců pro identifikaci vzorců a shrnutí aktivity. Klikněte pravým tlačítkem myši na libovolné záhlaví sloupce a vyberte Seskupit podle tohoto sloupce uspořádat události. Seskupená zobrazení shlukují podobné události dohromady, což usnadňuje zobrazení celkových vzorců.

Agregované pohledy poskytují statistické souhrny dat trasování. Seskupte podle TextData, chcete-li zobrazit, kolikrát byl každý dotaz proveden. Seskupte podle LoginName, chcete-li zobrazit souhrny aktivit pro jednotlivé uživatele. Agregace odhaluje vzorce, které nejsou v podrobných seznamech událostí okamžitě zřejmé.

Rozbalením a sbalením skupin zobrazíte nebo skryjete seskupené události.rarChikální pohled usnadňuje analýzu shora dolů,tarpráce s vysokoúrovňovými vzory a ponoření se do detailů.

6.4 Extrakce SQL dotazů ze stop

Extrahujte dotazy z trasovacích dat podle těchto kroků:

  1. Vyhledejte dotaz, který vás zajímá, v mřížce trasování.
  2. Kliknutím na řádek vyberte událost.
  3. Celý text dotazu si můžete prohlédnout ve spodním panelu.
  4. Pro média Ctrl + pro výběr veškerého textu dotazu.
  5. Pro média Ctrl + C zkopírovat text dotazu.
  6. Vložte dotaz do Management Studia pro další analýzu.

Extrahujte SQL dotaz z události trasování.

Identifikujte problematické dotazy seřazením podle sloupců výkonu. Kliknutím na záhlaví sloupce Trvání seřadíte podle doby provádění. Nejpomalejší dotazy se zobrazí nahoře nebo dole v závislosti na směru řazení. Podobně seřaďte podle výkonu CPU, čtení nebo zápisů, abyste identifikovali operace náročné na zdroje.

Exportujte dotazy pro testování jejich zkopírováním z okna trasování do oken dotazů. Upravte extrahované dotazy pro testování optimalizačních strategií. Porovnejte plány provádění a metriky výkonu mezi původní a optimalizovanou verzí.

6.5 Korelace událostí a pochopení toku provádění

Vztahy mezi událostmi rodič-dítě ukazují vysokou míru provedení.rarchies. SQL:Dávkytarnadřazený SQL:StmtS pro události tingtarudálosti ting, které zase tvoří nadřazené události provádění procedur. Pochopení těchto vztahů pomáhá sledovat kompletní cesty provádění v rámci vašeho kódu.

Sledování transakcí propojuje související události v čase. Sloupec SPID slouží k seskupení událostí podle relace. V rámci relace se události vyskytují v chronologickém pořadí, což ukazuje posloupnost operací. Toto zobrazení ukazuje, jak různé operace v rámci transakcí interagují.

Korelujte události prozkoumáním hodnot sdílených sloupců. Události se stejným identifikátorem SPID se vyskytly ve stejné relaci. Události se stejným názvem aplikace (ApplicationName) pocházely ze stejné aplikace. Tyto korelace použijte k pochopení složitých scénářů provádění.

7. obyčejný SQL Server Případy použití profileru

7.1 Řešení problémů s výkonem

7.1.1 Identifikace pomalých dotazů

Zachyťte pomalé dotazy pomocí následující konfigurace:

  1. Vytvořte novou stopu pomocí TSQL šablona.
  2. v Výběr událostí záložka, ověřit SQL:DávkovéDokončení a RPC:Dokončeno jsou vybrány.
  3. klikněte Filtry sloupců.
  4. vybrat Trvání ze seznamu sloupců.
  5. Zadejte 1000000 do Větší nebo rovno pole pro zachycení dotazů trvajících déle než 1 sekundu.
  6. klikněte OK a starstopu.
  7. Spusťte trasování během období špičkového využití.
  8. Zastavte trasování a seřaďte podle trvání, abyste identifikovali nejpomalejší dotazy.

Analýza založená na trvání odhaluje vzorce doby provádění. Seřaďte zaznamenané události podle sloupce Trvání, abyste nejprve viděli nejdéle probíhající operace. Prozkoumejte sloupec TextData, zda tyto události nejsou vyskytovány, a identifikujte skutečné dotazy zodpovědné za zpoždění.

Dotazy náročné na CPU a I/O vyžadují odlišné optimalizační přístupy. Seřaďte podle sloupce CPU, chcete-li najít dotazy vázané na procesor, které vyžadují algoritmická vylepšení. Seřaďte podle sloupců Čtení nebo Zápisy, chcete-li identifikovat dotazy vázané na I/O, které prospívají indexování nebo přepisování dotazů.

7.1.2 Detekce blokování a deadlocků

Nakonfigurujte detekci blokování podle těchto kroků:

  1. Vytvořte novou trasu.
  2. v Výběr událostí záložka, rozbalit Zámky.
  3. vybrat Zámek: Zablokování a Zámek: Řetězový zámek.
  4. Rozšířit Chyby a varování.
  5. vybrat Zpráva o blokovaném procesu.
  6. Zahrnout sloupce: SPID, Textová data, Název databáze, Přihlašovací jméno.
  7. Startrasování a monitorování událostí uzamčení.

Monitorování událostí zablokování odhaluje problémy se souběžností ovlivňující výkon aplikace. Události zablokování: Deadlock indikují, kdy SQL Server detekované a vyřešené situace zablokování. Události řetězce zablokování Lock:Deadlock zobrazují procesy zapojené do zablokování.

Grafy deadlocku poskytují vizuální znázornění scénářů deadlocku. Když dojde k události deadlocku, sloupec TextData obsahuje XML popisující deadlock. Zkopírujte tento XML a otevřete jej v SQL Server Management Studio pro zobrazení grafického diagramu zablokování znázorňujícího, které procesy se vzájemně blokovaly.

7.1.3 Hledání chybějících indexů

Zachyťte pracovní zátěž pro analýzu indexu pomocí těchto kroků:

  1. Vytvořte novou stopu pomocí Ladění šablona.
  2. Nakonfigurujte trasování pro ukládání do souboru.
  3. Spusťte trasování během reprezentativních období pracovní zátěže.
  4. Nasbírejte alespoň několik hodin aktivity.
  5. Zastavte trasování a uložte soubor.
  6. Spuštění Poradce pro ladění databázového enginu.
  7. Vyberte trasovací soubor jako zdroj úlohy.
  8. Spusťte analýzu a získejte doporučení ohledně indexu.

Integrace s nástrojem Database Engine Tuning Advisor automatizuje doporučování indexů. Tuning Advisor analyzuje zaznamenané úlohy a navrhuje indexy, které by mohly zlepšit výkon. Před implementací si doporučení pečlivě prostudujte s ohledem na režijní náklady na úložiště a údržbu.osts.

7.2 Řešení problémů s aplikací

7.2.1 Ladění chyb aplikace

Sledování chyb aplikace pomocí této konfigurace:

  1. Vytvořte novou trasu.
  2. Rozšířit Chyby a varování na kartě Výběr událostí.
  3. vybrat Výjimka, Chybová zpráva uživatele, a Pozor.
  4. Zahrnout sloupce: Chyba, Textová data, Název aplikace, SPID.
  5. filtrovat podle Název aplikace soustředit se na svou aplikaci.
  6. Startrasování a reprodukce chybového scénáře.
  7. Prohlédněte si zaznamenané chybové události pro diagnostikuostické informace.

Sledování chyb odhaluje podrobnosti o výjimkách, které jsou často skryty před aplikacemi. Sloupec Chyba obsahuje SQL Server čísla chyb. Sloupec TextData zobrazuje chybové zprávy a dotaz, který chybu způsobil. Sloupec Závažnost označuje úrovně závažnosti chyby.

Monitorování výjimek zachycuje problémy za běhu, včetně porušení omezení, chyb oprávnění a událostí časového limitu. Pro pochopení toho, co výjimky spustilo, proveďte korelaci chybových událostí s předchozími událostmi dotazů.

7.2.2 Sledování komunikace mezi aplikací a databází

Sledujte aktivitu aplikací podle těchto kroků:

  1. Vytvořte novou stopu pomocí Standard šablona.
  2. klikněte Filtry sloupců.
  3. vybrat Název aplikace a zadejte název vaší aplikace do Like pole.
  4. Volitelně filtrovat podle HostJméno izolovat konkrétní servery.
  5. Startrasování během operací aplikace.
  6. Prohlédněte si zaznamenané události a zobrazte všechny interakce s databází.

Filtrování názvů aplikací izoluje dotazy od konkrétních aplikací. SQL Server Nastaví název aplikace z připojovacích řetězců, což usnadňuje trasování jednotlivých aplikací v prostředí s více aplikacemi. Pro efektivní filtrování ověřte, zda váš připojovací řetězec obsahuje parametr Název aplikace.

Sledování připojení zobrazuje životní cyklus relace včetně událostí přihlášení, provádění dotazů a odhlášení. Sledujte míru vytváření připojení a identifikujte problémy se sdružováním připojení. Nadměrný počet odchodů připojení naznačuje potenciální problémy s konfigurací aplikace.

7.2.3 Ověřování chování aplikace

Ověřte očekávané chování aplikace pomocí analýzy trasování. Zachyťte všechny databázové operace během obchodní transakce a ověřte, zda se správné dotazy provádějí ve správném pořadí. Porovnejte skutečně zachycené dotazy s očekávaným chováním a identifikujte nesrovnalosti.

Ověřování parametrů zajišťuje, že aplikace předávají správné hodnoty uloženým procedurám a parametrizovaným dotazům. Prozkoumejte zachycený text dotazu a ověřte, zda hodnoty parametrů odpovídají očekáváním. Nesprávné parametry často způsobují logické chyby, které se projevují jako nesprávné obchodní výsledky.

7.3 Bezpečnostní audit

7.3.1 Sledování pokusů o přihlášení

Nakonfigurujte sledování přihlášení pomocí těchto kroků:

  1. Vytvořte novou trasu.
  2. Rozšířit Bezpečnostní audit na kartě Výběr událostí.
  3. vybrat Přihlášení k auditu, Odhlášení z auditu, a Přihlášení k auditu se nezdařilo.
  4. Zahrnout sloupce: Přihlašovací jméno, HostJméno, Název aplikace, StarČas.
  5. Startrasování pro sledování aktivity ověřování.
  6. Zkontrolujte neúspěšné přihlášení, zda neobsahují potenciální bezpečnostní problémy.

Úspěšná a neúspěšná přihlášení poskytují komplexní sledování ověřování. Události auditu přihlášení zaznamenávají úspěšné pokusy o ověření s identitou uživatele a informacemi o zdroji. Události auditu přihlášení označují neúspěšné pokusy o přihlášení, které mohou představovat útoky nebo problémy s konfigurací.

Sledování ověřování odhaluje vzorce v přístupu k databázi. Sledujte frekvenci přihlašování, abyste odhalili neobvyklou aktivitu. Více neúspěšných pokusů o přihlášení následovaných úspěšným přihlášením může znamenat ohrožení přihlašovacích údajů. Neúspěšná přihlášení z neočekávaných míst vyžadují prošetření.

7.3.2 Přístup k datům sledování a jejich úpravy

Monitorování přístupu k datům pomocí této konfigurace:

  1. Vytvořte novou trasu.
  2. Rozšířit Bezpečnostní audit.
  3. vybrat Přístup k objektům databáze auditu.
  4. Zahrnout sloupce: Název_objektu, Přihlašovací jméno, Textová data, Název databáze.
  5. filtrovat podle Název_objektu pro sledování specifických citlivých tabulek.
  6. Startrasování pro zachycení pokusů o přístup.

Sledování operací SELECT, INSERT, UPDATE a DELETE poskytuje komplexní audit úprav dat. Zachycujte události SQL:BatchCompleted s vhodnými filtry pro sledování všech operací přístupu k datům. Filtrujte podle názvu objektu nebo textových dat pro zaměření na citlivé tabulky.

Přístup k citlivým datům vyžaduje pečlivé sledování, aby byl zajištěn soulad s bezpečnostními zásadami. Vytvořte trasování speciálně pro tabulky obsahující osobní údaje, finanční údaje nebo jiné důvěrné informace. Pravidelně kontrolujte vzorce přístupu, abyste identifikovali nevhodný přístup k datům.

7.3.3 Identifikace neoprávněných aktivit

Detekujte podezřelou aktivitu analýzou vzorců dotazů v zachycených trasování. Hledejte neobvyklé dotazy, které neodpovídají běžnému chování aplikace. Příkazy SELECT bez klauzule WHERE, které načítají celé tabulky, mohou naznačovat pokusy o únik dat.

Pokusy o eskalaci oprávnění se zobrazují jako chyby oprávnění nebo pokusy o spuštění příkazů pro správu. Sledujte dotazy, které se pokoušejí o přístup k systémovým tabulkám, úpravu konfigurace serveru nebo vytvoření privilegovaných účtů. Filtrujte události chyb a zkontrolujte sloupec TextData, zda nevykazuje podezřelou aktivitu.

7.4 Plánování kapacity a analýza pracovní zátěže

Stanovte si základní hodnoty zachycením reprezentativní pracovní zátěže během běžného provozu. Spouštějte trasování během typické pracovní doby, abyste pochopili standardní vzorce aktivit. Uložte si tato trasování jako základní hodnoty výkonu pro budoucí porovnání.

Identifikace špičkového zatížení odhalí, kdy váš systém zažívá maximální zatížení. Zaznamenávejte záznamy v různých časových obdobích, včetně pracovní doby, dávkového zpracování a aktivity po pracovní době. Analyzujte počty událostí a spotřebu zdrojů a identifikujte období špičky.

Vzorce využití zdrojů vycházejí z analýzy pracovní zátěže. Seskupujte události podle časových intervalů a zobrazte rozložení aktivity během dne. Vypočítejte agregované metriky CPU, diskových I/O operací a trvání pro kvantifikaci spotřeby zdrojů. Použijte tato data k plánování upgradu kapacity nebo identifikaci optimalizačních příležitostí.

8. Moderní SQL Server Techniky profilování

8.1 Vytváření trasování na straně serveru pomocí T-SQL

8.1.1 Použití sp_trace_create a souvisejících procedur

Vytvářejte trasování na straně serveru programově pomocí uložených procedur T-SQL. Tento přístup umožňuje automatizované vytváření a správu trasování bez nutnosti SQL Server Grafické rozhraní Profileru.

Definujte trasování na straně serveru pomocí tohoto příkladového kódu:

  1. Deklarujte proměnné pro ID trasování a cestu k souboru.
  2. Voláním sp_trace_create vytvoříte novou trasu.
  3. Pro přidání událostí a sloupců použijte sp_trace_setevent.
  4. Volitelně použijte sp_trace_setfilter pro konfiguraci filtrů.
  5. Zavolejte sp_trace_setstatus na starstopu.

Procedura sp_trace_create inicializuje novou definici trasování. Zadejte cestu k výstupnímu souboru, maximální velikost souboru a možnosti přechodu mezi jednotlivými větami. Procedura vrací ID trasování, které se použije v následných voláních procedur ke konfiguraci trasování.

Přidejte události pomocí procedury sp_trace_setevent. Zadejte ID trasování, ID události a ID sloupce pro každou kombinaci událost-sloupec, kterou chcete zachytit. Volejte tuto proceduru několikrát, abyste vytvořili kompletní konfigurace trasování.

Konfigurace filtrů pomocí procedury sp_trace_setfilter. Zadejte ID trasování, ID sloupce, logický operátor, operátor porovnání a hodnotu filtru. Více volání filtrů se kombinují a vytvářejí komplexní kritéria filtrování.

StarPro dokončení trasování voláním sp_trace_setstatus s hodnotou status 1. Zastavení trasování voláním stejné procedury s hodnotou status 0. Smazání definic trasování voláním s hodnotou status 2.

8.1.2 Výhody trasování na straně serveru

Díky snížené režii klienta je trasování na straně serveru ideální pro monitorování produkčního prostředí. Databázový server zpracovává všechny trasovací operace bez spotřeby zdrojů klientského počítače. Šířka pásma sítě se nespotřebovává přenosem událostí do klientské aplikace.

Automatické spouštění umožňuje bezobslužný sběr trasování. Trasování na straně serveru pokračuje v běhu i po vytvoření, i když neexistuje žádné připojení klienta. Naplánujte vytvoření trasování prostřednictvím SQL Server Úlohy agentů pro automatizované monitorování.

Nižší dopad na výkon je důsledkem zpracování na straně serveru. Události se zapisují přímo na disk bez další serializace nebo síťového přenosu. Správa vyrovnávací paměti optimalizuje vstupně-výstupní operace na disku pro lepší celkový výkon.

8.2 Funkce přehrávání trasování

8.2.1 Zachycení stop pro přehrání

Vytvořte stopy připravené k přehrání podle těchto kroků:

  1. Vytvořte novou stopu pomocí TSQL_Replay šablona.
  2. Ověřte, zda jsou vybrány všechny požadované události a sloupce.
  3. Nakonfigurujte trasování pro ukládání do souboru.
  4. Spusťte trasování během období pracovní zátěže, které chcete zachytit.
  5. Zastavte trasování a uložte soubor.

Povinné události a sloupce zajišťují kompletní přehrání trasování. Šablona TSQL_Replay obsahuje všechny potřebné typy událostí a datové sloupce. Chybějící povinné prvky brání úspěšnému přehrání, proto při zachycování pro účely přehrání vždy používejte tuto šablonu.

8.2.2 Přehrávání stop

Znovu přehrajte zachycené úlohy pomocí těchto kroků:

  1. In SQL Server Profiler, klikněte Soubor -> Otevřená -> Trasovací soubor.
  2. Vyberte soubor trasování připravený k přehrání.
  3. klikněte Replay -> Home.
  4. Připojte se k tarzískat server v dialogovém okně přehrávání.
  5. Nakonfigurujte možnosti přehrávání, včetně pořadí a načasování přehrávání.
  6. klikněte OK pro zahájení přehrávání.
  7. Sledujte průběh přehrávání ve stavovém okně.

Možnosti konfigurace přehrávání ovládají, jak SQL Server Profiler reprodukuje zachycenou pracovní zátěž. Přehraje události v pořadí, v jakém byly zachyceny, aby se zachovaly časové vztahy. Nastavte, zda se má zachovat původní načasování, nebo se události přehrávají co nejrychleji.

8.2.3 Případy použití pro přehrávání trasování

Zátěžové testování těží z přehrávání trasování tím, že reprodukuje realistické pracovní zátěže. Zachyťte trasování produkčních pracovních zátěží a přehrajte je v testovacích systémech, abyste ověřili výkon za reálných vzorců využití. Upravte nastavení souběžnosti pro simulaci různých úrovní zátěže.

Ověření migrace prostředí zajišťuje, že nové systémy zvládnou stávající úlohy. Zachycuje trasování ze stávajících produkčních systémů a přehrává je na novém nebo aktualizovaném hardwaru. SQL Server verze. Porovnejte metriky výkonu, abyste ověřili, zda migrace nesníží výkon.

Testovací scénáře zahrnují regresní testování po změnách kódu, validaci změn optimalizátoru napříč SQL Server verze a hardwarové konfigurace pro zátěžové testování. Replay poskytuje konzistentní a opakovatelné úlohy pro spolehlivé testování.

8.3 Integrace SQL Profileru s Poradcem pro ladění databázového enginu

Vytvořte soubory úloh pro nástroj Database Engine Tuning Advisor zachycením trasování s příslušnými událostmi. Pomocí šablony ladění zajistěte, aby byly zachyceny všechny potřebné informace pro analýzu.

Spusťte nástroj Database Engine Tuning Advisor a vyberte trasovací soubor jako zdroj úloh. Poradce analyzuje zachycené dotazy a doporučuje indexy, indexovaná zobrazení nebo strategie dělení, které by zlepšily výkon.

Pracovní postup optimalizace výkonu integruje zachycení trasování s analýzou ladění. Zachyťte reprezentativní úlohy během běžného provozu, analyzujte je pomocí nástroje Tuning Advisor, kontrolujte doporučení, testujte navrhované změny ve vývoji a nakonec implementujte schválené změny v produkčním prostředí.

8.4 Automatizace sběru tras

Plánování trasování pomocí SQL Server Úlohy agentů pro automatický sběr dat. Vytvořte skripty T-SQL, které definují trasování na straně serveru pomocí procedur sp_trace. Naplánujte spouštění těchto skriptů v určitých časech nebo intervalech.

Automatizace PowerShellu umožňuje sofistikované scénáře správy trasování. Pište skripty PowerShellu, které vytvářejí trasování, monitorují jejich stav a zpracovávají shromážděná data. Plánujte skripty PowerShellu pomocí Plánovače úloh nebo SQL Server Činidlo.

SQL Server Úlohy agentů zajišťují spolehlivé plánované provádění. Vytvářejte úlohy, kterétarZahájit trasování na začátku monitorovacích období a zastavit trasování po dokončení sběru dat. Nakonfigurujte oznámení úloh tak, aby upozorňovala administrátory na selhání.

8.5 Programová analýza trasování

Čtení trasovacích souborů pomocí T-SQL pomocí funkce fn_trace_gettable. Tato funkce s tabulkovou hodnotou analyzuje trasovací soubory a vrací data událostí jako sadu výsledků. Dotazování těchto dat pomocí standardního T-SQL pro provedení vlastní analýzy.

Vlastní analytické skripty umožňují automatizované zpracování trasování. Pište dotazy, které vypočítávají agregované statistiky, identifikují vzory nebo označují anomálie. Naplánujte automatické spuštění těchto skriptů po dokončení sběru trasování.

Generujte reporty dotazováním na trasovací data uložená v tabulkách. Vytvářejte zobrazení, která agregují události podle časového období, uživatele nebo aplikace. Vytvářejte řešení pro reporting, která poskytují pravidelný přehled o aktivitě a výkonu databáze.

9. SQL Server Nejlepší postupy pro profilery

9.1 Nejlepší postupy pro výkon

9.1.1 Minimalizace režijních nákladů na trasování

Vyberte pouze nezbytné události, abyste snížili režijní náklady na trasování. Každý další typ události zvyšuje množství dat, které musí trasovací modul zpracovat. Zkontrolujte své cíle monitorování a zahrňte pouze události, které s těmito cíli přímo souvisejí.

Efektivně používejte filtry, abyste zabránili zachycení irelevantních dat. Filtrujte podle názvu databáze, chcete-li vyloučit systémové databáze. Filtrujte podle trvání, chcete-li zachytit pouze pomalé dotazy. Filtrujte podle názvu aplikace, chcete-li se zaměřit na konkrétní aplikace. Správné filtrování dramaticky snižuje režijní náklady na trasování.

Aspekty na straně serveru versus na straně klienta ovlivňují výkon. Trasování na straně serveru zapisují data přímo na disk s minimální režií. Trasování na straně klienta přenáší události přes síť do rozhraní Profileru, což zvyšuje latenci a spotřebu šířky pásma. Trasování na straně serveru používejte pro monitorování produkčního prostředí.

9.1.2 Optimalizace ukládání trasování

Správa velikosti souborů zabraňuje vyčerpání místa na disku. Nastavte maximální limity velikosti souborů odpovídající dostupnému úložišti. Povolte přepínání souborů pro vytvoření více souborů namísto neomezeného zvětšování jednoho souboru. Sledujte místo na disku během provádění trasování.

Tabulkové a souborové úložiště s sebou nese různé kompromisy ve výkonu. Souborové úložiště nabízí lepší výkon během provádění trasování, protože obchází úložný engine. Tabulkové úložiště umožňuje dotazy T-SQL na trasovací data, ale zvyšuje režii zápisu. Vyberte typ úložiště na základě vašich analytických požadavků.

9.2 Nejlepší bezpečnostní postupy

Správa oprávnění řídí, kdo může vytvářet a spouštět trasování. Oprávnění ALTER TRACE udělte pouze důvěryhodným uživatelům, kteří potřebují funkce trasování. Členové role sysadmin mají neomezený přístup k trasování. Pravidelně kontrolujte a auditujte oprávnění k trasování.

Ochrana citlivých dat vyžaduje pečlivou konfiguraci trasování. Při práci s citlivými daty se vyhněte zachycování celého textu dotazu. Zvažte filtrování nebo šifrování výstupu trasování obsahujícího důvěrné informace. Uchovávejte soubory trasování na bezpečných místech s odpovídajícími kontrolami přístupu.

Zabezpečení trasovacích souborů zabraňuje neoprávněnému přístupu k zachyceným datům. Nastavením oprávnění k souborům omezte přístup k trasovacím souborům. Zašifrujte trasovací soubory, pokud obsahují citlivé informace. Po dokončení analýzy trasovací soubory smažte, abyste minimalizovali riziko vystavení.

9.3 Aspekty produkčního prostředí

9.3.1 Kdy použít Profiler v produkčním prostředí

Posouzení rizik určuje, kdy SQL Server Profiler je vhodný pro produkční použití. Profiler zavádí měřitelnou režii, která se zvyšuje s rozsahem trasování. Vyhodnoťte, zda diagnostika...ostHodnota ic zdůvodňuje dopad na výkon před spuštěním produkčních tras.

Konfigurace s minimálním dopadem umožňují bezpečnější trasování v produkčním prostředí. Používejte vysoce selektivní filtry k zachycení pouze kritických událostí. Nastavte prahové hodnoty trvání, abyste ignorovali rychle se provádějící dotazy. Omezte trvání trasování na krátká období během relací řešení problémů. Nakonfigurujte trasování na straně serveru pro snížení režijních nákladů klienta.

9.3.2 Alternativy pro monitorování výroby

Rozšířené události poskytují nižší režijní náklady na monitorování výroby. Tato moderní technologie nabízí lepší výkon a flexibilitu než SQL Server Profiler. Migrujte monitorovací řešení do Extended Events pro dlouhodobé produkční použití.

Query Store automaticky zaznamenává data o výkonu dotazů bez nutnosti ruční konfigurace trasování. Povolte Query Store v produkčních databázích pro sledování statistik provádění dotazů v čase. Query Store poskytuje most možnosti monitorování výkonu bez režie trasování.

Dynamické pohledy pro správu (Dynamic Management Views) nabízejí jednoduché monitorování pro specifické scénáře. DMV poskytují informace o aktuálním stavu bez zaznamenávání historických událostí. Pravidelně se dotazujte DMV pro sledování stavu serveru bez režijních nákladů spojených s neustálým trasováním.

9.4 Osvědčené postupy pro správu trasování

Konvence pojmenování zajišťují identifikovatelnost a uspořádání trasovacích souborů. Do názvů trasovacích souborů uveďte datum, čas, název serveru a účel. Pro usnadnění správy a analýzy používejte konzistentní vzory pojmenování napříč všemi trasy.

Dokumentace zaznamenává konfiguraci a účel trasování. Zdokumentujte, jaké události jste zaznamenali, proč jste trasování vytvořili a co jste se naučili z analýzy. Uchovávejte protokol trasování spuštěného v produkčních systémech pro účely dodržování předpisů a řešení problémů.

Zásady uchovávání dat zabraňují nadměrnému hromadění trasovacích souborů. Definujte, jak dlouho by měly být trasovací soubory uchovávány na základě obchodních požadavků a úložné kapacity. Automatizujte mazání starých trasovacích souborů pro uvolnění místa na disku. Archivujte důležité trasovací soubory do dlouhodobého úložiště před smazáním.

9.5 běžných chyb, kterým je třeba se vyhnout

Nadměrné trasování způsobuje nadměrné zatížení výkonu a generuje nezvládnutelné objemy dat. Vyhněte se zachycování všech událostí bez filtrů.tars úzkými, cílenými stopami a rozšiřovat rozsah pouze v případě potřeby. Více dat není vždy lepší pro efektivní řešení problémů.

Zapomínání na zastavení trasování plýtvá prostředky a zaplňuje místo na disku. Vždy zastavte trasování po dokončení monitorování. Nastavte limity doby trvání trasování nebo maximální velikosti souborů, abyste zabránili nekontrolovatelnému trasování. Pravidelně monitorujte spuštěné trasování a zastavujte neaktivní nebo nepotřebné trasování.

Ignorování optimalizace filtrů vede ke špatnému výkonu a obtížné analýze. Investujte čas do konfigurace efektivních filtrů předtím, než...tarstopování. Otestujte filtry ve vývojových prostředích, abyste ověřili, zda zachycují očekávaná data. Zkontrolujte a upřesněte filtry na základě zachycených výsledků.

10. Alternativy k SQL Server Profiler v roce 2025

10.1 Rozšířené události: Moderní náhrada

10.1.1 Co jsou rozšířené události

Rozšířené události představují SQL Servermoderní architektura pro zpracování událostí. Společnost Microsoft navrhla tento systém speciálně pro řešení SQL Server Omezení Profileru zahrnují režijní náklady na výkon a flexibilitu konfigurace. Rozšířené události poskytují komplexní možnosti monitorování s výrazně nižší spotřebou zdrojů.

Architektura a výhody odlišují rozšířené události od starších technologií trasování. Modul událostí se hluboce integruje do SQL ServerZákladní architektura zachycující události s minimálními režijními náklady. Asynchronní ukládání událostí do vyrovnávací paměti zabraňuje blokování databázových operací monitorováním. Flexibilní tarMožnosti získávání umožňují rozmanité konfigurace výstupu.

Díky výhodám výkonu je rozšířená funkcionalita ideální pro monitorování produkce. Srovnávací testy ukazují, že rozšířená funkcionalita přináší o 50–90 % nižší režijní náklady než ekvivalentní produkty. SQL Server Trasování profileru. Architektura se lépe škáluje s vysokými objemy událostí a podporuje více souběžných monitorovacích relací.

10.1.2 Migrace z Profileru na Extended Events

Mapování událostí se překládá SQL Server Události profileru na ekvivalenty rozšířených událostí. Most Události profileru mají odpovídající protějšky rozšířených událostí. Společnost Microsoft poskytuje dokumentaci mapující běžné události mezi těmito dvěma systémy.

Vytváření relací v Extended Events vyžaduje osvojení nové syntaxe a konceptů. Definujte relace událostí pomocí příkazů T-SQL CREATE EVENT SESSION nebo grafického rozhraní Extended Events v Management Studiu. Relace určují, které události se mají zachytit, jaká data se mají shromažďovat a kam se mají ukládat výsledky.

10.1.3 Rozšířené nástroje a rozhraní pro události

Uživatelské rozhraní SSMS Extended Events nabízí grafickou správu relací. Přístup k rozšířeným událostem je možný prostřednictvím složky Správa v Průzkumníku objektů. Vytvářejte, upravujte a monitorujte relace událostí prostřednictvím rozhraní. Zobrazujte zachycená data v grafických formátech, včetně mřížek a grafů.

Správa relací T-SQL umožňuje programové řízení rozšířených událostí. Pro definování relací v kódu použijte příkazy CREATE EVENT SESSION. Pro úpravu spuštěných relací použijte příkaz ALTER EVENT SESSION. Relace můžete rušit pomocí příkazu DROP EVENT SESSION. Tento přístup usnadňuje automatizovaná řešení monitorování.

10.2 SQL Server Dotazový obchod

Query Store automaticky zaznamenává data o výkonu dotazů pro databáze, kde je povolena. Tato funkce sleduje plány dotazů, statistiky provádění a metriky výkonu v průběhu času bez nutnosti ruční konfigurace trasování. Query Store uchovává historická data, což umožňuje analýzu trendů a detekci regrese.

Monitorování výkonu dotazů v reálném čase prostřednictvím úložiště dotazů odhaluje aktuální chování systému. Zobrazte si nedávno spuštěné dotazy, jejich plány provádění a spotřebu zdrojů. Identifikujte dotazy s prodlužující se dobou trvání nebo měnícími se plány provádění, které mohou naznačovat problémy.

Analýza historických dotazů umožňuje porovnání napříč časovými obdobími. Query Store uchovává data o výkonu po konfigurovatelnou dobu uchovávání. Porovnejte aktuální výkon s historickými výchozími hodnotami a identifikujte regrese. Analyzujte trendy výkonu a předvídejte budoucí potřeby kapacity.

Použijte Query Store, když potřebujete automatické a nepřetržité monitorování výkonu. Povolte Query Store v produkčních databázích pro průběžné sledování chování dotazů. Query Store doplňuje řešení problémů na základě trasování tím, že poskytuje historický kontext pro problémy s výkonem.

10.3 Dynamické pohledy pro správu (DMV)

Lehké monitorování prostřednictvím DMV poskytuje informace o aktuálním stavu bez zaznamenávání historických událostí. DMV odhalují interní SQL Server statistiky a metadata prostřednictvím dotazovatelných zobrazení. Dotazování DMV pomocí standardních příkazů T-SQL SELECT.

Mezi běžné dotazy DMV pro monitorování výkonu patří sys.dm_exec_query_stats pro statistiky výkonu dotazů, sys.dm_exec_requests pro aktuálně prováděné požadavky a sys.dm_os_wait_stats pro statistiky čekání. Tato zobrazení poskytují přehled o stavu a aktivitě serveru v daném okamžiku.

Systémy DMV doplňují monitorování založené na trasování tím, že poskytují metriky v reálném čase. Používejte systémy DMV pro rychlé kontroly stavu a analýzu aktuálního stavu. Kombinujte dotazy systému DMV s daty trasování pro komplexní přístupy k řešení problémů.

10.4 Monitorovací nástroje třetích stran

Komerční alternativy nabízejí vylepšené možnosti monitorování nad rámec SQL ServerVestavěné nástroje. Produkty od dodavatelů jako SolarWinds, Redgate a Quest poskytují komplexní funkce pro monitorování, upozorňování a analýzu. Tyto nástroje často kombinují více zdrojů dat, včetně trasování, DMV a čítačů výkonu.

Porovnání funkcí odhaluje silné stránky různých monitorovacích přístupů. Nástroje třetích stran poskytují vynikající uživatelská rozhraní, automatizovaná upozornění a historické trendy. SQL ServerVestavěné nástroje nenabízejí žádné další náklady.ost a hlubší integraci. Vyhodnoťte nástroje na základě vašich specifických požadavků a rozpočtu.

10.5 Výběr správného nástroje pro vaše potřeby

Rozhodovací matice pomáhá vybrat vhodné monitorovací nástroje. Pro řešení problémů ad-hoc, SQL Server Profiler zůstává přístupný a efektivní. Pro monitorování produkce poskytují Extended Events nebo Query Store lepší výkon. Pro komplexní monitorování podniku nabízejí řešení třetích stran most rysy.

Kritéria výběru nástrojů zahrnují výkonnostní režijní náklady, snadnost použití, požadavky na uchovávání dat a rozpočtová omezení. Při výběru nástrojů zvažte odborné znalosti vašeho týmu. Známé nástroje umožňují rychlejší řešení problémů, i když novější alternativy nabízejí lepší funkce.

Kombinujte více nástrojů pro komplexní strategie monitorování. Používejte Query Store pro průběžné sledování výkonu, Extended Events pro vyšetřování specifických problémů a DMV pro kontroly stavu v reálném čase. Tento vrstvený přístup poskytuje robustní monitorování bez nadměrných režijních nákladů.

11. Řešení problémů SQL Server Problémy s profilerem

11.1 Běžné problémy s připojením

Selhání ověřování zabraňuje SQL Server Profiler od připojení k tarzískat servery. Ověřte, zda pro vybranou metodu ověřování používáte správné přihlašovací údaje. Ověřování systému Windows vyžaduje, aby váš účet systému Windows měl odpovídající SQL Server oprávnění. SQL Server Ověřování vyžaduje platné přihlašovací údaje SQL.

Problémy s připojením k síti se projevují jako chyby časového limitu nebo selhání připojení. Ověřte SQL Server umožňuje vzdálená připojení ve své konfiguraci. Zkontrolujte, zda nastavení firewallu povoluje provoz na SQL Serverportu `s. Před řešením problémů specifických pro Profiler otestujte základní připojení pomocí příkazů ping a telnet.

11.2 Problémy s výkonem Profileru

Pomalé provádění trasování naznačuje nadměrné režijní náklady z konfigurace trasování. Zkontrolujte vybrané události a odstraňte ty nepotřebné. Přidejte filtry pro snížení objemu zachycených událostí. Zvažte použití trasování na straně serveru ke snížení zátěže zpracování na straně klienta.

Vysoká spotřeba zdrojů ovlivňuje jak SQL Server a klienta Profiler. Sledujte CPU a paměť serveru během provádění trasování. Pokud jsou zdroje serveru omezené, zvyšte selektivitu filtru nebo zkraťte dobu trvání zachycení. Problémy s klientskými zdroji vyžadují ukončení ostatních aplikací nebo upgrade klientského hardwaru.

11.3 Problémy se soubory a tabulkami trasování

Poškozené trasovací soubory brání otevření v SQL Server Profiler. Poškození je obvykle způsobeno neopatrným ukončením trasování nebo chybami disku. Zkuste soubor otevřít v textovém editoru a ověřit, zda není zcela poškozen. Někdy lze částečná data obnovit importem do tabulky pomocí fn_trace_gettable.

Při pokusu o načtení trasování z dochází k problémům s přístupem k tabulce. SQL Server tabulky. Ověřte, zda máte oprávnění SELECT k trasovací tabulce. Zkontrolujte, zda tabulka nebyla odstraněna nebo přejmenována. Ujistěte se, že se připojujete ke správnému serveru a databázi obsahující trasovací tabulku.

11.4 Chybějící události nebo neúplná data

Nesprávná konfigurace filtru způsobuje, že trasování vynechává očekávané události. Pečlivě zkontrolujte kritéria filtrování, abyste se ujistili, že nevylučují požadované události. Otestujte filtry spuštěním krátkých trasování a ověřením, zda zachycená data odpovídají očekáváním. Odeberte filtry tempa.raraby se zjistilo, zda problém způsobují.

K přetečení vyrovnávací paměti dochází, když SQL Server Nelze zapisovat data trasování dostatečně rychle, aby držel krok s generováním událostí. K tomu obvykle dochází u nefiltrovaných trasování během vysoké aktivity. Mezi příznaky patří chybějící události nebo varování „Události nebyly zachyceny“. Problém lze vyřešit přidáním filtrů pro snížení objemu událostí nebo zvýšením výkonu I/O pro umístění souboru trasování.

11.5 Pády a chyby profileru

Mezi běžné chybové zprávy patří „Nelze vytvořit trasování“ označující problémy s oprávněními nebo omezení zdrojů. Zprávy „Trasování bylo zastaveno“ naznačují selhání trasování na straně serveru, pravděpodobně z důvodu zaplnění disku. Chyby „Neplatná definice trasování“ označují problémy s konfigurací.

Strategie řešení závisí na konkrétní chybě. Chyby oprávnění vyžadují udělení oprávnění ALTER TRACE uživateli. Chyby zdrojů vyžadují uvolnění místa na disku nebo paměti. Chyby konfigurace vyžadují kontrolu a opravu nastavení trasování.tart SQL Server Profiler, pokud přestane reagovat.

12. Praktické SQL Server Scénáře a příklady profilerů

12.1 Scénář 1: Identifikace nejpomalejších dotazů ve vaší databázi

Tento návod ukazuje zachycení a analýzu pomalých dotazů.

Nakonfigurujte trasování podle těchto kroků:

  1. zahájit SQL Server Profiler a připojení k vašemu tarzískat server.
  2. klikněte Soubor -> Nová stopa.
  3. Zadejte „Analýza pomalých dotazů“ do pole Název trasování pole.
  4. vybrat TSQL z Použijte šablonu dropdown.
  5. klikněte Výběr událostí Karta.
  6. klikněte Filtry sloupců.
  7. vybrat Trvání a zadejte 1000000 Větší nebo rovno.
  8. vybrat Název databáze a zadejte název vaší databáze do Like.
  9. klikněte OK zavřít filtry.
  10. umožnit Uložit do souboru a zadejte cestu k souboru.
  11. klikněte Běh na start zachycení.

Spusťte trasování během špičky po dobu alespoň 30 minut, abyste zachytili reprezentativní pracovní vytížení. Po shromáždění dostatečného množství dat trasování zastavte.

Analyzujte výsledky podle tohoto postupu:

  1. Klepněte na tlačítko Trvání záhlaví sloupce pro řazení podle času provedení.
  2. Určete 10 nejdéle se opakujících dotazů.
  3. U každého dotazu prozkoumejte Textová data sloupec.
  4. Zkopírujte text dotazu a vložte ho do Management Studia.
  5. Použijte Zobrazit odhadovaný plán realizace analyzovat dotaz.
  6. Hledejte prohledávání tabulek, chybějící indexy nebo neefektivní spojení.
  7. přezkoumání Procesor (CPU), Čte, a Zapíše sloupce pro vzorce spotřeby zdrojů.

12.2 Scénář 2: Ladění problému s deadlockem

Tento příklad ukazuje, jak zachytit a analyzovat deadlocky.

Nakonfigurujte monitorování deadlocku pomocí těchto kroků:

  1. Vytvořte novou trasu s názvem „Vyšetřování zablokování“.
  2. klikněte Výběr událostí Karta.
  3. klikněte Zobrazit všechny události.
  4. Rozšířit Zámky kategorie.
  5. vybrat Zámek: Zablokování.
  6. vybrat Zámek: Řetězový zámek.
  7. Rozšířit Chyby a varování kategorie.
  8. vybrat Zpráva o blokovaném procesu.
  9. Zajistit Textová data je vybrán sloupec.
  10. klikněte Běh na starmonitorování.

Pokud během provádění trasování dojde k zablokování, v mřížce trasování se zobrazí událost Lock:Deadlock.

Interpretace informací o zablokování proběhne podle těchto kroků:

  1. Klepněte na tlačítko Zámek: Zablokování řádek události.
  2. Zobrazit Textová data sloupec ve spodním panelu.
  3. Zkopírujte obsah XML z TextData.
  4. Otevřete Management Studio a vytvořte nové okno dotazu.
  5. Vložte XML do okna dotazu.
  6. Uložte soubor s příponou .xdl.
  7. Otevřete soubor .xdl v aplikaci Management Studio a zobrazte graf zablokování.
  8. Graf zobrazuje zapojené procesy, uzamčené zdroje a vybranou oběť.
  9. Projděte si dotazy z obou procesů, abyste pochopili konflikt.

Kroky řešení obvykle zahrnují změnu pořadí operací v kódu aplikace pro přístup k prostředkům v konzistentním pořadí, snížení rozsahu transakcí nebo implementaci vhodných uzamykacích nápověd.

12.3 Scénář 3: Sledování všech dotazů z konkrétní aplikace

Tento scénář demonstruje monitorování dotazů specifických pro aplikaci.

Nakonfigurujte trasování specifické pro aplikaci pomocí těchto kroků:

  1. Vytvořte nové trasování s názvem „Sledování dotazů aplikace“.
  2. Vybrat Standard šablona.
  3. klikněte Výběr událostí Karta.
  4. klikněte Filtry sloupců.
  5. vybrat Název aplikace.
  6. Zadejte název vaší aplikace do Like pole.
  7. Pokud vaše aplikace používá sdružování připojení, můžete potřebovat porovnávání zástupných znaků.
  8. klikněte OK pro použití filtru.
  9. umožnit Uložit do tabulky pro snazší dotazování.
  10. klikněte Běh na start zachycení.

Analýza vzorů dotazů odhaluje, jak vaše aplikace interaguje s SQL Server:

  1. Po shromáždění dat zastavte trasování.
  2. Otevřete Management Studio a připojte se k serveru s tabulkou trasování.
  3. Dotazujte tabulku trasování pro analýzu vzorů.
  4. Spočítejte dotazy podle typu, abyste viděli složení operací.
  5. Identifikujte most často prováděné dotazy.
  6. Hledejte dotazy, které by mohly být uloženy v mezipaměti nebo optimalizovány.
  7. Zkontrolujte opakované identické dotazy, které naznačují chybějící sdružování připojení.

12.4 Scénář 4: Audit přístupu k datům z hlediska souladu s předpisy

Tento příklad ukazuje vytvoření záznamu bezpečnostního auditu.

Nakonfigurujte audit zabezpečení podle těchto kroků:

  1. Vytvořte novou trasu s názvem „Trasa bezpečnostního auditu“.
  2. klikněte Výběr událostí Karta.
  3. klikněte Zobrazit všechny události.
  4. Rozšířit Bezpečnostní audit kategorie.
  5. vybrat Přihlášení k auditu, Odhlášení z auditu, Přihlášení k auditu se nezdařilo.
  6. vybrat Přístup k objektům databáze auditu.
  7. Rozšířit TSQL kategorie.
  8. vybrat SQL:DávkovéDokončení.
  9. klikněte Filtry sloupců.
  10. filtrovat podle Název_objektu pro sledování specifických citlivých tabulek.
  11. umožnit Uložit do tabulky pro dlouhodobé uchování.
  12. Povolit trasování na straně serveru pro bezobslužný provoz.
  13. klikněte Běh na starauditování.

Generování auditních sestav dotazováním tabulky trasování:

  1. Vytvořte dotazy shrnující přístup podle uživatele a časového období.
  2. Identifikujte neobvyklé vzorce přístupu nebo aktivity po pracovní době.
  3. Zdokumentujte neúspěšné pokusy o přihlášení pro bezpečnostní kontrolu.
  4. Exportujte data auditu do systémů pro podávání zpráv pro účely dokumentace shody.
  5. Archivujte dokončené auditní trasy v souladu se zásadami uchovávání dat.

12.5 Scénář 5: Zachycení úlohy pro testování výkonu

Tento scénář demonstruje zachycení pracovní zátěže pro účely testování.

Vytvořte stopy připravené k přehrání pomocí těchto kroků:

  1. Vytvořte novou trasu s názvem „Zachycení pracovní zátěže“.
  2. vybrat TSQL_Replay z rozbalovací nabídky šablony.
  3. Tato šablona obsahuje všechny požadované události a sloupce pro přehrání.
  4. klikněte Výběr událostí Karta.
  5. Pokud chcete zachytit konkrétní segmenty pracovní zátěže, použijte filtry.
  6. umožnit Uložit do souboru.
  7. Zadejte cestu k souboru s dostatečným volným místem na disku.
  8. Nastavte vhodné limity velikosti souborů a povolte přejetí myší.
  9. klikněte Běh na start zachycení.

Zachycování dat během reprezentativních obchodních operací. Pro komplexní zachycení pracovní zátěže spusťte trasování po dobu několika hodin a pokrývající různé vzorce aktivit. Po shromáždění dostatečného množství dat trasování ukončete.

Analýza pracovní zátěže odhaluje vzorce chování systému:

  1. Otevřete zachycený soubor trasování v SQL Server Profiler.
  2. Zkontrolujte rozložení událostí podle typu a času.
  3. Vypočítejte agregované metriky spotřeby zdrojů.
  4. Identifikujte období špičkové aktivity a úzká místa v oblasti zdrojů.
  5. Použijte trasování pro analýzu Poradce pro ladění databázového enginu.
  6. Znovu přehrajte trasování v testovacích systémech a ověřte změny.

13. Detekce poškození databáze pomocí SQL Server profil

13.1 Používání SQL Server Profiler pro včasné varovné signály korupce

Poškození databáze představuje jeden z most vážné hrozby pro integritu dat a spolehlivost systému. Zatímco SQL Server Profiler není specializovaný nástroj pro detekci korupce, dokáže zachytit kritické varovné signály, které naznačují potenciální problémy s korupcí vyžadující okamžité vyšetření.

13.2 Kritické chybové události naznačující potenciální poškození

  • Chyby závažnosti 24 (823, 824, 825): Selhání hardwaru a médií.
  • Chyba 605: Neúspěšné pokusy o načtení stránky
  • Chyba 8928 a 8929: Poškození objektu

13.3 Podezřelé chování databáze a varovné vzorce

  • Opakované časové limity dotazů u konkrétních objektů
  • Porušení přístupu a pády aplikací
  • Neobvyklé shlukování chyb

13.4 Spuštění příkazu DBCC CHECKDB na základě zjištění profileru

If SQL Server Pokud Profiler najde podezřelé poškození, můžete k provedení úplné kontroly databáze použít příkaz DBCC CHECKDB. Pokud se poškození potvrdí, proveďte opravu. Napsali jsme komplexní návod, jak tyto úkoly provádět.

Pokud se příkazu DBCC CHECKDB nepodaří opravit databázi, je poškození závažné. V takovém případě se můžete uchýlit k nástroj pro obnovu SQL od třetí strany.

14. Časté dotazy

Otázka: Je SQL Server Profiler stále podporován v SQL Server 2022?

A: Ano, SQL Server Profiler je stále součástí SQL Server 2022 a SQL Server Management Studio, přestože je od roku 2000 zastaralé SQL Server 2016. Společnost Microsoft nadále dodává nástroj s aktuálními verzemi, ale pro nové implementace monitorování doporučuje migraci na rozšířené události. Nástroj zůstává funkční a široce se používá pro řešení problémů a ad-hoc analýzu.

Q: Jaký je mezi tím rozdíl SQL Server Profiler a trasování SQL?

A: SQL Server Profiler je nástroj s grafickým uživatelským rozhraním, který se připojuje k enginu SQL Trace běžícímu v rámci SQL ServerSQL Trace je základní technologie, která ve skutečnosti zachycuje události. Trace můžete vytvářet pomocí rozhraní Profileru nebo přímo prostřednictvím uložených procedur T-SQL, jako je sp_trace_create. Profiler poskytuje snadnější konfiguraci, zatímco trasování T-SQL nabízí více možností automatizace.

Otázka: Kolik režie výkonu SQL Server Přidat profiler?

A: Dopad na výkon se liší v závislosti na konfiguraci trasování. Dobře filtrované trasování zachycující pouze specifické události může přidat 1–5 % režijních nákladů. Špatně nakonfigurované trasování bez filtrů může přidat 20–50 % nebo i více režijních nákladů, zejména na vytížených systémech. Trasování na straně serveru má menší dopad než trasování na straně klienta. Vždy používejte filtry k minimalizaci objemu událostí a trasování nejprve otestujte v neprodukčním prostředí.

Otázka: Můžu běžet? SQL Server Profiler na produkčních serverech?

A: Můžete běžet SQL Server Profiler na produkčních serverech, ale buďte opatrní. Používejte vysoce selektivní filtry, omezte dobu trvání trasování a upřednostňujte trasování na straně serveru, abyste minimalizovali dopad. Spouštějte produkční trasování pokud možno v obdobích s nízkou aktivitou. Pro nepřetržité monitorování produkčního prostředí zvažte raději Extended Events nebo Query Store, protože nabízejí nižší režijní náklady.

Otázka: Jaká oprávnění potřebuji k použití? SQL Server Profiler?

A: K vytváření a spouštění trasování potřebujete oprávnění ALTER TRACE. Členové s pevnou rolí serveru sysadmin toto oprávnění mají automaticky. Uživatelům bez role sysadmin explicitně udělte oprávnění ALTER TRACE. Dále potřebujete příslušná oprávnění k ukládání dat trasování do souborů nebo tabulek na základě vaší konfigurace.

Otázka: Proč nevidím všechny události ve svém záznamu?

A: Chybějící události jsou obvykle důsledkem příliš omezujících filtrů nebo přetečení vyrovnávací paměti. Zkontrolujte konfiguraci filtru a ujistěte se, že nevylučuje požadované události. K přetečení vyrovnávací paměti dochází, když SQL Server Nelze zapisovat události dostatečně rychle, obvykle s nefiltrovanými trasami na zaneprázdněných systémech. Přidejte filtry pro snížení objemu událostí nebo zvýšení výkonu diskového I/O. Zkontrolujte chybové zprávy, které indikují, že události nebyly zaznamenány.

Otázka: Jak mohu zachytit informace o deadlocku pomocí SQL Server Profiler?

A: Vytvořte trasování, které obsahuje události Lock:Deadlock a Lock:Deadlock Chain z kategorie Zámky. Ujistěte se, že je vybrán sloupec TextData, protože obsahuje XML grafu deadlocku. Když dojde k deadlocku, zkopírujte XML ze sloupce TextData, uložte jej s příponou .xdl a otevřete jej v SQL Server Management Studio pro zobrazení grafického diagramu deadlocku.

Otázka: Jaký je rozdíl mezi ukládáním tras do souborů a do tabulek?

A: Soubory nabízejí lepší výkon během provádění trasování, protože obcházejí SQL Server Úložný modul. Trasování souborů zapisují data přímo na disk s minimální režií. Trasování tabulek zapisují přes úložný modul, což sice zvyšuje režii, ale umožňuje okamžité T-SQL dotazy na trasovací data. Soubory používejte pro scénáře citlivé na výkon a tabulky, když potřebujete dotazovat data ihned během nebo po zachycení.

Otázka: Mohu automatizovat SQL Server Sběr trasování profileru?

A: Ano, automatizujte shromažďování trasování pomocí trasování na straně serveru vytvořeného pomocí uložených procedur T-SQL. Pište skripty pomocí sp_trace_create a souvisejících procedur a poté je naplánujte. SQL Server Úlohy agenta. Tento přístup umožňuje bezobslužné shromažďování trasování podle zadaných plánů. Skripty PowerShellu poskytují další možnost automatizace pro složitější scénáře.

Otázka: Jak dlouho bych měl/a spouštět trasování?

A: Délka trasování závisí na vašich cílech. Pro řešení konkrétních problémů spusťte trasování během reprodukce problému, obvykle 5–30 minut. Pro analýzu výkonu zaznamenejte alespoň jednu hodinu během období špičkové aktivity. Pro analýzu pracovní zátěže nebo plánování kapacity shromážděte několik hodin v různých časových obdobích. Po dokončení monitorování trasování vždy zastavte, abyste uvolnili zdroje.

Otázka: Co mám dělat, když je můj trasovací soubor příliš velký?

A: Povolte ve vlastnostech trasování funkci rollover pro vytvoření více menších souborů místo jednoho velkého. Nastavte maximální velikost souboru odpovídající vašemu prostoru na disku a potřebám analýzy. Použijte filtry pro snížení objemu zachycených událostí. U velkých trasování zvažte analýzu dat v segmentech, spíše než načítání celého trasování najednou. Pravidelně archivujte nebo mažte staré soubory trasování, abyste spravovali místo na disku.

Otázka: Jak najdu dotazy, které způsobují vysoké využití CPU?

A: Vytvořte trasování s událostmi SQL:BatchCompleted a RPC:Completed. Zahrňte sloupce CPU, Duration a TextData. Filtrujte podle Duration, abyste zachytili pouze dotazy překračující prahovou hodnotu, například 1000 milisekund. Po shromáždění dat seřaďte data sestupně podle sloupce CPU. Dotazy nahoře spotřebovávají most čas procesoru. Prozkoumejte tyto dotazy, zda neobsahují optimalizační příležitosti, jako jsou chybějící indexy nebo neefektivní logika.

Otázka: Může SQL Server Plány provádění dotazů pro zachycení profileru?

A: SQL Server Profiler může zachytit informace o plánu provedení prostřednictvím událostí Showplan XML v kategorii Výkon. Vyberte události Showplan XML nebo Showplan XML Statistics Profile pro zachycení kompletních plánů provedení. Sloupec TextData obsahuje data plánu XML. Pro rutinní analýzu plánu provedení však... SQL Server Funkce grafického plánu provádění v Management Studiu nebo úložiště dotazů poskytují jednodušší alternativy.

Otázka: Jaká je nejlepší šablona protars pro obecné monitorování?

A: Standardní šablona poskytuje dobrýtarKlíčový bod pro obecné monitorování. Zahrnuje běžné události provádění dotazů, volání uložených procedur a sledování chyb s vyváženou režií. Pro monitorování s menším dopadem zaměřené na výkon dotazů použijte šablonu TSQL. Po pochopení základů si můžete šablony přizpůsobit podle svých specifických potřeb přidáním filtrů a úpravou výběru událostí.

Otázka: Jak mohu sledovat pouze konkrétní aplikaci nebo uživatele?

A: Použijte filtry sloupců k izolaci konkrétních aplikací nebo uživatelů. Pro aplikace filtrujte podle sloupce ApplicationName s použitím názvu zadaného v připojovacím řetězci. Pro uživatele filtrujte podle sloupce LoginName s SQL Server přihlašovací jméno nebo název účtu Windows. Kombinací více filtrů můžete dále zúžit zaměření, například filtrováním podle názvu aplikace (ApplicationName) a názvu databáze (DatabaseName) můžete sledovat aktivitu jedné aplikace v konkrétní databázi.

15. Závěr a další kroky

15.1 klíčové poznatky

SQL Server Profiler zůstává cenným nástrojem pro řešení problémů s ad-hoc databázemi i přes svůj zastaralý stav. Díky jednoduchému rozhraní a komplexnímu zachycení událostí je ideální pro rychlou diagnostiku.ostIC sezení, když potřebujete okamžité výsledky. Použijte Profiler k řešení konkrétních problémů, analýze chování aplikací a bezpečnostnímu auditu.

Mezi osvědčené postupy patří agresivní používání filtrů pro minimalizaci dopadu na výkon, upřednostňování trasování na straně serveru pro produkční prostředí a omezení doby trvání trasování na nezbytně nutná období. Pro snížení režijních nákladů vyberte pouze nezbytné události a sloupce. Pro lepší výkon během zachycování ukládejte trasování do souborů, nikoli do tabulek.

15.2 Pohyb vpřed: Využití moderních nástrojů

Přechod z SQL Server Profiler na Extended Events pro dlouhodobá monitorovací řešení. Profiler sice zůstává funkční, ale investování času do učení se Extended Events vám pomůže s budoucími SQL Server verze Stars jednoduchými relacemi Extended Events, které replikují vaše běžné trasování Profileru.

Povolte Query Store v produkčních databázích a získejte automatické sledování výkonu bez nutnosti ruční konfigurace trasování. Query Store průběžně zaznamenává plány dotazů a statistiky provádění a poskytuje tak základní data pro analýzu výkonu. Kombinujte Query Store s tarrozšířené relace událostí pro komplexní monitorování.

15.3 Další zdroje

Následující zdroje vám pomohou prohloubit vaše SQL Server Znalosti profilerů a udržování aktuálního stavu s osvědčenými postupy monitorování:

Oficiální dokumentace společnosti Microsoft

Zdroje Společenství

  • SQL Server Central – Články, fóra a skripty pro databázové profesionály
  • přetečení zásobníku SQL Server Štítek – Otázky a odpovědi komunity pro konkrétní otázky k řešení problémů
  • Reddit r/SQLServer – Diskusní fórum pro SQL Server témata a rady
  • Fóra SQLServerCentral.com – Aktivní diskuse komunity o profilování a výkonu
  • MSDN SQL Server Fóra – Microsoft-hostfóra podpory komunity ed

Blogy a technické články

  • SQL Server Performance Monitor – Vyhrazený obsah pro monitorování a optimalizaci výkonu
  • Blog Brenta Ozara Unlimited – Nejlepší postupy pro ladění a monitorování výkonu
  • SQLSkills.com – Expertní úroveň SQL Server obsah od lídrů v oboru
  • Microsoft SQL Server Blog – Oficiální aktualizace produktů a oznámení funkcí
  • Jednoduchá řeč – praktická SQL Server tutoriály a případové studie

Školení a certifikace

  • Microsoft Learn – Bezplatné online školicí moduly pro SQL Server
  • Certifikace Microsoftu: Spolupracovník správce databáze Azure – Oficiální certifikační cesta
  • Pluralsight SQL Server Kurzy – Videoškolení o profilování a ladění výkonu
  • LinkedIn Learning SQL Server Školení – Kurzy profesního rozvoje
  • Udemy SQL Server Kurzy výkonnosti – praktické možnosti tréninku

Knihy

  • SQL Server Ladění výkonu dotazů – Komplexní průvodce optimalizací výkonu
  • Pro SQL Server Vnitřní mechanismy – Hloubkový ponor SQL Server architektura
  • SQL Server Plány provedení – Pochopení optimalizace dotazů
  • Odborné indexování výkonu pro SQL Server – Návrh a optimalizace indexu
  • SQL Server Pokročilé řešení problémů a ladění výkonu – Pokročilá diagnostikaosttechniky IC

Nástroje a utility

  • SQL Server Management studio – Primární rozhraní pro SQL Server profil
  • Azure DataStudio – Moderní multiplatformní databázový nástroj
  • sp_WhoIsActive – Oblíbená komunitou vytvořená uložená procedura pro monitorování
  • SQL Sentry Plan Explorer – Bezplatný nástroj pro analýzu plánu spuštění
  • DBFOrge Studio – Třetí strana SQL Server nástroj pro vývoj a správu

O autorovi

Yuan Sheng je seniorní správce databází (DBA) s více než 10 lety zkušeností v SQL Server prostředí a správu podnikových databází. Úspěšně vyřešil stovky scénářů obnovy databází ve finančních službách, zdravotnictví a výrobních organizacích.

Yuan se specializuje na SQL Server obnova databáze, řešení s vysokou dostupnostía optimalizaci výkonu. Jeho rozsáhlé praktické zkušenosti zahrnují správu databází o objemu více terabajtů, implementaci Vždy dostupné skupiny dostupnostia vývoj automatizovaných strategií zálohování a obnovy pro kritické obchodní systémy.

Díky svým technickým znalostem a praktickému přístupu se Yuan zaměřuje na vytváření komplexních průvodců, které pomáhají správcům databází a IT profesionálům řešit složité SQL Server efektivně zvládá výzvy. Udržuje si přehled o nejnovějších SQL Server vydání a vyvíjející se databázové technologie společnosti Microsoft a pravidelně testuje scénáře obnovy, aby zajistil, že jeho doporučení odrážejí osvědčené postupy z reálného světa.

Máte otázky ohledně SQL Server potřebujete další pokyny k odstraňování problémů s databází? Yuan vítá zpětnou vazbu a návrhy pro vylepšení těchto technických zdrojů.

Sdílej nyní: