tévék. Konzolok. Projektorok és tartozékok. Technológiák. Digitális TV

Lekérdezés elemzése SQL Profiler segítségével. Az SQL Profiler (profilozó) használata

Ebben az előadásban folytatjuk a tárolt eljárások tanulmányozását, amelyet a „Tárolt eljárások létrehozása és kezelése” című részben elkezdtünk. Megtanulja, hogyan elemezhet tárolt eljárásokat és egyéb T-SQL utasításokat a Query Analyzer segítségével Microsoft SQL Server Query Analyzer és SQL Server Profiler. Ebből az elemzésből meghatározhatja, hogy a T-SQL utasítások mennyire hatékonyak. Egy hatékony SQL Server lekérdezés a megfelelő műveletsort és megfelelő indexeket használja a feldolgozott sorok számának csökkentése és az I/O műveletek számának minimalizálása érdekében.

A Query Analyzer segítségével megtekintheti a T-SQL utasításhoz kiválasztott végrehajtási tervet lekérdezés optimalizáló SQL Server Lekérdezés-optimalizáló egy belső modul, amely keresi legjobb terv végrehajtása minden T-SQL utasításhoz. Lekérdezés-optimalizáló elemzi az egyes T-SQL utasításokat, megvizsgál számos lehetséges végrehajtási tervet, és értékeli az egyes tervek "költségét" a szükséges erőforrások és feldolgozási idő tekintetében. A legalacsonyabb költségű tervet választják ki. Az egyes csomagok költségét a rendelkezésre álló statisztikák alapján határozzák meg, amelyeket a rendszer gyűjt össze, és előfordulhat, hogy elavultak. Mert lehet, hogy többet tud az adatbázisáról és az adatairól, mint lekérdezés optimalizáló, akkor lehet, hogy olyan tervet készíthet, amely jobb, mint a lekérdezésoptimalizáló. A Query Analyzer által előállított információk segítségével meghatározhatja, hogy a lekérdezésoptimalizáló terve egy adott utasításra hatékony lesz-e, és ha nem, akkor megpróbálhatja optimalizálni az utasítást módosításával vagy SQL-utasítással. Ebben az előadásban megtudhatja, hogyan optimalizálhatja a T-SQL utasításokat a Query Analyzer használatán kívül.

A Profiler segítségével elemezheti az SQL Server rendszerén belüli műveleteket, és megállapíthatja, hogy mely SQL utasítások és tárolt eljárások használnak szükségtelen rendszererőforrásokat. Ezen információk birtokában a hangolási erőfeszítéseit elsősorban ezekre az utasításokra és tárolt eljárásokra összpontosíthatja. Ez az előadás a Profiler használatának ismertetése mellett azt is bemutatja, hogyan lehet a Profiler segítségével a leghatékonyabban felhasználni a megszerzett információkat.

Az SQL Query Analyzer használata

A Query Analyzer segédprogramot a Microsoft tartalmazza SQL Server 2000 cserébe

Az egyik kedvenc eszközöm az SQL Server Profiler, amelyet gyakran egyszerűen Profilernek neveznek. Ez a segédprogram tetszőleges számú részletes SQL Server-esemény adatait jeleníti meg. Ezek a szerveresemények megtekinthetők a Nyomkövetési tulajdonságok ablakban (49.3. ábra), valamint rögzíthetők egy fájlban vagy táblázatban későbbi elemzés céljából. A szűrők beállíthatók az összes esemény vagy azok egy kiválasztott részhalmazának rögzítésére.

Puc. 49.2. Ebben a példában a számláló protokoll információkat rögzít

az SQL Server teljesítményéről a C:\Perf Logs könyvtárban

Az SQL Server Profiler segédprogram a menüből indítható el Eszköz programok Management Studio alkalmazásban, vagy közvetlenül a Start menü SQL Server 2005 mappájából. A tevékenység megtekintéséhez új nyomkövetést kell megadnia, vagy egy meglévő fájlt kell használnia.

Az SP1 kiadásával az SQL Server Profiler megkapta a Figyelem! nagy adathalmazok nyomon követése nagy számítógépeken.

Ezenkívül korábban az elemzési szolgáltatás figyelésekor az idő egyetemes idő (UTC) egységekben volt megjelenítve. Most használja a helyi rendszeridő. Korábban a sikeresen reprodukált eseményeket nem számolták megfelelően, így a felhasználó hibás statisztikákat kapott. Ez a probléma megoldódott.

Új nyomvonal meghatározása

Új nyomkövetés létrehozásakor (akár a Fájl^Új nyomkövetés menüparancs, akár az Új nyomkövetés eszköztár gombjával) új kapcsolat jön létre az SQL Serverrel, és megnyílik a Nyomkövetés tulajdonságai párbeszédpanel (49.4. ábra). Ennek az ablaknak az Általános lapján konfigurálható a nyomkövetés (különösen a név, a fájl helye stb.), az Események kiválasztása lapon pedig a naplózandó események, adatok és szűrők. Ha a nyomkövetés fut, ezek a paraméterek megtekinthetők, de nem módosíthatók. A nyomkövetési konfiguráció sablonként menthető, hogy a jövőben könnyebb legyen új nyomkövetések létrehozása.

Rizs. 49.4. A Nyomkövetési tulajdonságok ablak Események kiválasztása lapján kiválaszthatja a Profiler segédprogram által követett eseményeket.

A nyomkövetés valós időben megtekinthető, de az adatok egyidejűleg egy SQL Server fájlba vagy táblába írhatók. Ez hasznos a későbbi bányászathoz, a rendszerfigyelő számláló adataival való összehasonlításhoz vagy a Database Engine Tuning Advisor segédprogramba történő importáláshoz.

Amikor az olvasmányokat fájlba írják, a teljesítmény javítása érdekében 128 KB-os láncokba fűzik össze; hasonlóképpen táblázatba íráskor az adatok több sorba csoportosulnak.

A Profiler által rögzített adatok későbbi elemzés céljából történő tárolásához használja a nagy teljesítményű fájlmódszert, valamint a szerverkövetést (erről később lesz szó). Ha T-SQL utasításokkal kívánja elemezni az adatokat, használja pontosan ugyanezt a megközelítést, de a nyomkövetési munkamenet befejezése után nyissa meg az eredményül kapott fájlt a Profiler segédprogramban, és válassza a Fájl^Mentés másként^Táblázat menüpontot a menüből.

Esemény kiválasztása

Az Események kiválasztása lap meghatározza az adatbázis-kiszolgáló által végrehajtott műveletek listáját, amelyeket a Profiler segédprogram rögzít. A Performance Monitorhoz hasonlóan a Profiler számos kulcsfontosságú SQL Server eseményt képes figyelni. A kiválasztási beállítás egyszerűsítése érdekében használhatja az alapértelmezett sablonokat.

I Az SQL Batch Completed esemény a T-SQL kötegek végrehajtásán alapul

Az SVS egésze (terminátorokkal elválasztott csomagok), nem pedig egyedi utasítások.

| * Ennek alapján a Profiler ettől függetlenül csak egy eseményről rögzít adatokat

Simo a csomag hosszától függően. Egyedi utasítások végrehajtásának rögzítésére

A DML az SQL-utasítás befejezése eseményt használja.

Nem minden esemény használható nyom reprodukálására. Például az SQL Batch Start esemény lejátszható, de az SQL Batch Complete esemény nem.

Az eseményektől függően különböző adatok állnak rendelkezésre a nyomon követéshez. Bár az SPID adatoszlop opcionálisnak tűnik, megtévesztő.

Eseményszűrés

A Profiler program annyi információt képes összegyűjteni, hogy egy szempillantás alatt megtölthet egy lemezmeghajtót. Szerencsére a program szűrője (49.5. ábra) segít abban, hogy ezt a tömböt csak az Önt érdeklő adatokra korlátozzuk.

Rizs. 49.6. Az SQL Server Profiler integrálhatja a teljesítményfigyelő adatokat, és szinkronizálhatja azokat a megfigyelt eseményekkel

Az SQL Trace használata

program SQL Profiler Jellemzően interaktívan használva elegendő időszakos adatgyűjtéshez. A hosszú távú nyomok azonban könnyen több százezer rekordot halmozhatnak fel, ami nagyon konkrét problémákat okozhat munkaállomás, elvégzi a nyomkövetést. A megoldás egy nyomkövetési napló létrehozása közvetlenül a szerveren. Ez a nyomkövetés kis plusz terhelést okoz a szerveren; ebben az esetben a fájlok 128 KB-os blokkokban lesznek írva.

A szerveroldali nyomkövetést végrehajtó ipari rendszerekben az adatok a szerveren lévő fájlba írása az a legjobb módja információgyűjtés

a teljesítményről, miközben minimalizálja a szerver további terhelését.

A szerveren végzett nyomkövetés a rendszerben tárolt eljárások segítségével határozható meg és valósítható meg. A programkódot megírhatja saját maga vagy az SQL Server Profiler programmal.

A nyomkövetés konfigurálása és tesztelése után az SQL Server Profiler alkalmazásban válassza a Fájl^ Exportálás^ Nyomkövetési meghatározás^ SQL Server 2005 esetén menüpontot a kiszolgálóoldali nyomkövetést végrehajtó T-SQL-parancsfájl létrehozásához.

I Ha meg szeretné tudni, hogy mely nyomkövetések futnak a kiszolgálón, kérdezze le a

A vezérlőrendszerek SVS namic nézete. Ha megnézi ennek a lekérdezésnek az I* eredményeit, további visszakövetési eredményeket fog látni. Az első * szám mindig az úgynevezett alapértelmezett nyomkövetés, amely az SQL Server naplóihoz gyűjt adatokat – nem lehet leállítani.

A kiszolgáló nyomkövetésének leállításához használja az sp_trace_setstatus rendszerben tárolt eljárást. Ennek első argumentuma (traceid) a nyomkövetési azonosító, a második pedig a művelet természetét határozza meg. A műveleti paraméter nulla értéke leállítja a nyomkövetést, egy értéke elindítja, kettős értéke pedig bezárja és törli. A következő kód leállítja a 2-es számú nyomkövetést.

Amellett, hogy a Query Analyzer segítségével keresheti a nem hatékony T-SQL utasításokat, használhatja a segédprogramot is SQL Server Profiler. A Profiler lehetővé teszi a rendszeren végrehajtott összes T-SQL-utasítás figyelését az ezekre vonatkozó információk grafikus megjelenítésével. A Profiler rendezési és szűrési lehetőségeket is biztosít, amelyek segítségével azonosíthatja azokat a T-SQL utasításokat, amelyek a legtöbb CPU- és I/O-erőforrást használják. Ezzel az információval meghatározhatja, hogy mely T-SQL utasításokra kell összpontosítani a hangolásukhoz. Az alkalmazásból meghívott T-SQL utasítások megtekinthetők a Profilerben; azonban magának az alkalmazásnak nem kell hozzáférnie a forráskódhoz.

Az SQL Server 2000 Profiler segédprogramja hasonlóan működik, mint az SQL Server 7 Profiler segédprogramja, de tartalmaz néhány fejlesztést. Az egyik hasznos kiegészítések egy nyomkövetési sablon, amely nyomkövetési fájlok létrehozására használható. (A nyomkövetést továbbra is létre kell hozni, mielőtt az SQL Server műveleteinek megfigyelésére használhatná.) Az SQL Serverben a nyomkövetéseket manuálisan kellett létrehozni.

A Profiler segédprogram elindításához és a nyomkövetés elindításához kövesse az alábbi lépéseket.

  1. Kattintson a Start gombra, válassza a Programok, a Microsoft SQL Server, majd a Profiler elemet. Amikor először megnyitja a Profiler ablakot, az üres lesz. Nem nyitnak meg paneleket és nem végeznek profilalkotást az SQL Serverben.
  2. A profilalkotás létrehozásának megkezdéséhez ki kell választania egy meglévő nyomkövetési sablont futtatni vagy létrehozni új sablon nyomokat végrehajtani. (Az indítási folyamat leírása a 4. lépésben található.) Az SQL Server 2000 Profiler számos nyomkövetési sablon közül választhat. Ezekkel a nyomkövetési sablonokkal sok időt takaríthat meg, mivel nem kell a nyomkövetést az elejétől létrehoznia. A nyomkövetési sablonok listájának megtekintéséhez kattintson a Fájl menüre, mutasson a Megnyitás pontra, és válassza a Nyomkövetési sablonok lehetőséget a Megnyitás párbeszédpanel megjelenítéséhez (35.16. ábra).


    Rizs. 35.16.

    A következő nyomkövetési sablonok érhetők el az SQL Serverrel.
    • SQLServerProfilerSP_Counts.tdf. Számolja a futó tárolt eljárások számát. Az eredmények a tárolt eljárás neve szerint vannak csoportosítva, és tartalmazzák a megfelelő eljárás lefutásainak számát.
    • SQLServerProfilerStandard.tdf. Általános információkat gyűjt a kapcsolatokról, végrehajtott tárolt eljárásokés SQL csomagokat a végrehajtásuk sorrendjében.
    • SQLServerProfilerTSQL.tdf. Információkat gyűjt az összes T-SQL-utasításról abban a sorrendben, ahogy azok a felhasználóktól beérkeztek az SQL Serverbe. Ez a nyomkövetés egyszerűen T-SQL utasításokat és azok végrehajtásának időpontját tartalmazza.
    • SQLServerProfilerTSQL_Duration.tdf. Felsorolja a futtatott T-SQL utasításokat, valamint az utasítások végrehajtásához szükséges időt (ezredmásodpercben).
    • SQLServerProfilerTSQL_Grouped.tdf. Adatokat gyűjt ahhoz hasonló, amely összegyűjti az SQLServerProfilerTSQL-t, de az utasításokat futtató felhasználók utasításait csoportosítja.
    • SQLServerProfilerTSQL_Replay.tdf. Részletes információkat nyújt a futtatott T-SQL utasításokról. Ez a nyomkövetés olyan adatokat tartalmaz, amelyek T-SQL utasítások reprodukálására használhatók a Query Analyzerben.
    • SQLServerProfilerTSQL_SPs.tdf . Kinyomtatja a megadott tárolt eljárásokat, valamint T-SQL parancsok ezen eljárásokon belül. Az eredmények a végrehajtás sorrendjében jelennek meg.
    • SQLServerProfilerTuning.tdf. Összegyűjti a tárolt eljárás- és SQL-csomag végrehajtási adatokat.
    Ezek a nyomkövetési sablonok nagyon hasznosak lehetnek. Például az SQLServerProfilerTSQL_Duration nyomkövetési minta segíthet azonosítani azokat a T-SQL utasításokat, amelyek végrehajtása a leghosszabb ideig tart. Ez az információ kiindulópontként szolgálhat lekérdezés optimalizálás. Egy kezelőnek sok időbe telik, mert sokat dolgozik, vagy talán azért, mert nem hatékony. Ahogy látni fogod következő lépés, minden nyomkövetéshez előre meghatározott sablont kell használnia.
  3. Nyomkövetés indításához kattintson a Fájl elemre, válassza az Új, majd a Nyomkövetés lehetőséget. Megjelenik a Connect to SQL Server párbeszédpanel (35.17. ábra). Ebben a párbeszédpanelen válassza ki a nyomon követendő SQL Server rendszert, majd kattintson az OK gombra.


    Rizs. 35.17.
  4. Megjelenik a Nyomkövetés tulajdonságai ablak (35.18. ábra). Az Általános lapon megadhat egy nevet a nyomkövetésnek (a Nyomkövetés neve mezőben), és kiválaszthat egy nyomkövetési sablont, amelyet kiindulási pontként kíván használni. Mert ezt a példát válassza ki az SQLServerProfilerTSQLDuration sablont. A lap alján megadhatja, hogy hova szeretné menteni a nyomkövetést - fájlba (Save in file) és/vagy SQL Server táblába (Save in table). Ha ezen jelölőnégyzetek egyike sincs bejelölve, a nyomkövetési eredmények csak a képernyőn jelennek meg. Ezenkívül beállíthatja a nyomkövetés befejezési idejét (a Nyomkövetés leállítási idejének engedélyezése jelölőnégyzet és mező). Ez nagyon hasznos lehet hosszú távú nyomkövetések esetén.


    Rizs. 35.18.
  5. Ezután kattintson az Események fülre (35.19. ábra).


    Rizs. 35.19. Ezen a lapon kiválaszthat egy vagy több eseményt, amelyet a nyomkövetés figyelni fog. Számos eseményosztályt (kategóriát) és konkrét eseményt követhet nyomon. Az Elérhető eseményosztályok lista olyan eseményosztályokat tartalmaz, mint a Kurzorok, Hibák és Figyelmeztetések, Zárak, Objektumok, Vizsgálatok, SQL operátorok ( SQL utasítások), Tárolt eljárások, tranzakciók és TSQL.
  6. A nyomon követni kívánt események kiválasztása után kattintson az Adatoszlopok fülre (35.20. ábra). Ezen a lapon adja meg, hogy a nyomkövetés során milyen adatokat kell gyűjteni. Ezek az adatok tartalmazhatják a befejezési időt,

Munkánk során gyakran találkozunk olyan helyzettel, amikor egy bizonyos kérés lassú, és a kérés szövegéből semmilyen nyilvánvaló probléma nem látszik. Általában ebben az esetben a problémát mélyebb szinten kell vizsgálni. Általában meg kell nézni az SQL lekérdezés szövegét és annak tervét, és ebben segít nekünk az SQL Profiler.

Mi az SQL Profiler és miért van rá szükség?

Az SQL Profiler az MS SQL Serverrel együtt szállított program, amely az SQL szerveren előforduló összes esemény megtekintéséhez, vagy más szóval nyomkövetés rögzítésére szolgál.

Miért lehet szüksége egy 1C programozónak SQL Profilerre?

Legalább egy lekérdezés szövegét SQL-ben kapjuk meg, és lássuk a tervét. Természetesen ezt meg lehet tenni egy technológiai magazin segítségével, de ehhez kell némi készség, és a műszaki folyóiratban nem olyan szép és olvasmányos a terv.

A profilozóban nem csak szöveges, hanem grafikus lekérdezés végrehajtási tervet is meg lehet nézni, ami szerintem sokkal kényelmesebb.

A profilkészítővel a következőket is meghatározhatja:

meghatározott időnél hosszabb kéréseket

lekérdezések egy adott táblához

blokkolásra vár

időtúllépések

holtpont

és még sok más...

Lekérdezések elemzése SQL Profilerrel

A profilkészítőt leggyakrabban lekérdezések elemzésére használják. Általában nem kell nyomon követnünk az összes lekérdezést, gyakran látnunk kell, hogy egy bizonyos lekérdezést az 1C nyelven hogyan fordítanak le SQL-be, és látnunk kell a végrehajtási tervét. Például szükségünk lehet erre annak meghatározásához, hogy egy lekérdezés miért fut lassan, vagy nagy lekérdezést írtunk, és meg akarunk győződni arról, hogy az SQL lekérdezés törzse nem tartalmaz csatlakozásokat egy részlekérdezéshez.

A kérés nyomon követéséhez tegye a következőket:

1. Indítsa el az SQL Profilert

Start - Minden program - Microsoft SQL Server 2008 R2 - Termelékenységi eszközök - SQL Profiler

2. Hozzon létre egy új nyomkövetést

Fájl – Nyomkövetés létrehozása (Ctrl+N)
3. Adja meg azt a DBMS-kiszolgálót, amelyen adatbázisunk található, és kattintson a „Csatlakozás” gombra.

Természetesen semmi sem akadályozza meg egy másik számítógépen található DBMS-kiszolgáló nyomon követésében.

4. A megjelenő „Nyomkövetési tulajdonságok” ablakban lépjen a második „Események kiválasztása” lapra.

5. Most meg kell adnunk ezen események eseményeit és tulajdonságait, amelyeket látni szeretnénk a nyomkövetésben.

Lekérdezésekre és lekérdezési tervekre van szükségünk, ezért engedélyeznünk kell a megfelelő eseményeket. Megjelenítéshez teljes lista tulajdonságok és események, engedélyezze az „Összes oszlop megjelenítése” és „Minden esemény megjelenítése” jelzőt.

Az események leírása:

ShowplanStatisticsProfile – szöveges lekérdezés végrehajtási terv

ShowplanXMLStatisticsProfile – grafikus lekérdezés végrehajtási terv

RPC:Completed – kérés szövege, ha eljárásként kerül végrehajtásra (ha egy paraméterekkel rendelkező 1C kérést hajtanak végre).

SQL:BatchCompleted – lekérdezési szöveg, ha a következőként fut normál kérés(ha egy 1C kérést paraméterek nélkül hajtottak végre).

6. Most be kell állítania egy szűrőt az eseményekhez. Ha ez nem történik meg, akkor lekérdezéseket fogunk látni az összes olyan adatbázisra vonatkozóan, amelyen található ezt a szervert DBMS.

Kattintson az „Oszlopszűrők” gombra, és adjon meg egy szűrőt adatbázisnév alapján

Most a nyomkövetésben csak a „TestBase_8_2” adatbázishoz érkezett kéréseket fogjuk látni

Igény szerint szűrhet más mezők szerint is, amelyek közül a legérdekesebbek: Duration, TextData (általában a kérés szövege) és RowCounts (a kérés által visszaadott sorok száma).

Például, ha a "TestBase_8_2" adatbázisban a "_InfoRg4312" táblához érkezett összes kérést meg kell fognom, és amelyek több mint 3 másodpercig tartanak, akkor a következőket teszem:

a) Szűrés adatbázis szerint, a fenti példa szerint

b) Szűrés időtartam szerint ezredmásodpercben.

c) Szűrés kérés szövege szerint

Itt adjuk meg a maszkot. Ha olyan lekérdezéseket kell nyomon követnie, amelyek több táblához hozzáférnek, akkor hozzon létre több elemet a „Hasonló ehhez” részben. Minden szűrőfeltétel együtt működik.

7. Most már futtathatja a nyomkövetést. Kattintson a „Futtatás” gombra, amely után a nyomkövetés működésbe lép, és láthatja azokat az eseményeket, amelyeket megjelenítésre konfigurált, és amelyek a szűrők alá tartoznak.

A nyomkövetés vezérléséhez használhatja a parancssor gombjait.

Balról jobbra:

Radír – törli a nyomkövetési ablakot

Indítás – elindítja a nyomkövetést

Szünet – leállítja a nyomkövetést, amikor a Start gombra kattint, a nyomkövetés folytatódik

Leállítás – leállítja a követést

8. Maga a nyomkövető ablak két részből áll. A tetején az események és az eseménytulajdonságok láthatók.

Az alsó rész az események típusától függően különböző információkat jelenít meg. Esetünkben itt vagy a kérelem szövege, vagy annak terve jelenik meg.

9. Végezzük el a kérést az 1C lekérdezési konzolban, és nézzük meg, hogyan jelenik meg a profilkészítőben.

A nyomon látszik, hogy több kérés is érkezett, és csak egy volt a miénk. Az egyéb kérések szolgáltatási kérések.

10. Az események tulajdonságaiból érthető: hány másodpercig futott le a lekérdezés (Duration), hány logikai olvasás volt (Reads), hány sort adott vissza a lekérdezés eredményeként (RowCounts), stb.

Az én esetemben a lekérdezés 2 ezredmásodpercig futott, 4 logikai olvasást végzett, és 1 sort adott vissza.

11. Ha egy eseménnyel feljebb megyünk, akkor grafikus formában láthatjuk a lekérdezési tervet.

A tervből látható, hogy a keresést ár szerinti index alapján végzik, bár ez a terv nem nevezhető ideálisnak, mert az index nem fed, a kód és név mezőket a KeyLookup segítségével kapjuk meg, ami az idő 50%-át vesz igénybe.

Használata helyi menü, a grafikai tervet el lehet menteni külön fájl a *.SQLPlan kiterjesztéssel, és nyissa meg egy másik számítógépen lévő profilkészítőben vagy a fejlettebb SQL Sentry Plan Explorer programmal.

12. Ha még feljebb megyünk, ugyanazt a lekérdezési tervet fogjuk látni, csak szöveges formában.

Ez a terv jelenik meg a TZ, TsUP és más 1C teljesítményfigyelő eszközökben. Az elemzéshez az advanced használatát javaslom szövegszerkesztő háttérvilágítású, például Notepad++.

a) Magának a profilkészítőnek a formátumában, pl. *.trc kiterjesztéssel

b) Xml formátumban

c) A nyomkövetésből sablont készíthet. Lásd a következő pontot.

Ezután ki kell választania egy adatbázist a megadott kiszolgálón, és meg kell adnia annak a táblának a nevét, amelybe a nyomkövetést el kell menteni. Kiválaszthat egy meglévő táblát, vagy írhat új nevet, és a tábla automatikusan létrejön a kiválasztott adatbázisban.

Figyelembe kell venni, hogy a Duration milliomod másodpercben kerül tárolásra a táblázatban és az eredmény kijelzésekor célszerű az értéket ezredmásodpercekre konvertálni. A RowNumber oszlop is hozzáadásra kerül a táblázathoz, amely a nyomkövetési sor számát mutatja.

14. Ha gyakran kell a profilkészítőt használni a kérések elemzéséhez, akkor a szükséges szűrők és események beállítása gyorsan unalmassá válik, és sok időt is igénybe vesz.

Nyomkövetési sablonok jönnek a segítségünkre, ahol megadjuk a szükséges szűrőket és oszlopsorrendet, majd egyszerűen kiválasztjuk ezt a sablont új nyomkövetés létrehozásakor.

Sablon létrehozásához használja a Fájl – Sablonok – Új sablon menüt

Az első lapon minden egyszerű. Megjelöljük a szerver típusát, a sablon nevét, és ha szükséges, beállítjuk a jelzőt, hogy alapértelmezés szerint ezt a sablont használja.

A második lapon kiválasztjuk az eseményeket és beállítjuk a szűrőket, ahogy fent már látható.

Most egy új nyomkövetés létrehozásakor egyszerűen megadhatja a szükséges sablont, amely után a második fülön automatikusan kitöltődik minden szűrő és esemény.

Természetesen ennek a csodálatos eszköznek nem minden felhasználási módja látható itt, azt hiszem, a jövőben kiegészítem a témával foglalkozó cikkek gyűjteményét.

Ha továbbra is kérdései vannak az SQL Profiler használatával kapcsolatban, tegyétek fel őket kommentben, szívesen válaszolok.

SQL Profiler - szoftver eszköz, SQL Server nyomon követésére használják. "Trace" - az SQL Server 2008 működésével kapcsolatos információk gyűjtésének munkamenete

Fő cél:

Az SQL Profilert a rendszergazdák a következőkre használják:

· a pályázat elemzése;

· a szervernek küldött kérések optimálisságának meghatározása;

· a végrehajtás során hibát okozó Transact-SQL parancsok azonosítása;

· információk gyűjtése a felhasználói tevékenységről hosszú időn keresztül;

· a szerver működésének valós idejű monitorozása.

Új funkciók:

a. Elemzési szolgáltatások profilalkotása;

b. Integrációs szolgáltatások eseményprofilkészítés;

c. a Performance Monitor számlálóinak rögzítésének képessége a parancs végrehajtási információinak rögzítésekor;

d. A Profiler sok új eseményt és információforrást adott hozzá, amelyek kiválaszthatók a nyomkövetési fájlban való rögzítésre;

f. az események csoportosításának lehetősége a profilkészítő ablakban.

SQL Server Profiler használata

1. Indítsa el az SQL Server Profiler -t a menüből Indítsa el a Programok SQL Server 2008 Performance Tools SQL Server Profiler alkalmazást.

2. A menüben megnyíló ablakban Fájl válasszon Új nyomés csatlakozni SQL szerver Server 2008, melynek működését ellenőrizni fogjuk.

3. Állítsa be a munkamenet paramétereit az ablakban Nyomkövetési tulajdonságok, amely a nyomkövetési munkamenet kezdete előtt automatikusan megnyílik (lásd 8.1. ábra).

Rizs. 8.1. A nyomkövetési munkamenet beállításainak konfigurálása

a. A lapon Általános válasszon a listából Használja a sablont a legmegfelelőbb sablon. A sablon kiválasztása a menü segítségével történik Fájl à Sablonok az SQL Server Profilerben. Kezdetben nyolc sablon áll a rendelkezésére:

1). Normál (alapértelmezett)- egy alapértelmezett sablon, amely lehetővé teszi az összes tárolt eljárás és a végrehajtásra elindított Transact-SQL parancs követését;

2). SP_Counts- információk gyűjtése a tárolt eljárásokról, végrehajtásra indított funkciókról, név szerint rendezve;

3). TSQL- információk gyűjtése a szerveren végrehajtásra elindított összes Transact-SQL parancsról, jelezve a felhasználói folyamatok azonosítóját és az indítási időt;

4). TSQL_Duration- hasonlóan az előző sablonhoz, de a TSQL parancs indítási idejére vonatkozó információk helyett a végrehajtási idő kerül rögzítésre;

5). TSQL_Grouped- a Transact-SQL parancskóddal és az indítás időpontjával kapcsolatos információkon kívül az alkalmazás nevével kapcsolatos információk is rögzítésre kerülnek, fiókot felhasználó az operációs rendszerben és a csatlakozáshoz használt felhasználói fiók;



6). TSQL_Replay- a legrészletesebb információk rögzítése a végrehajtott Transact-SQL parancsokról;

7). TSQL_SPs- a tárolt eljárásindítás (SP:Starting) kezdetére vonatkozó információk rögzítése mellett rögzítésre kerül a tárolt eljárás egyes parancsainak végrehajtására vonatkozó információ (SP:StmtStarting);

8). Hangolás- a Database Tuning Advisor számára szükséges információk gyűjtésére szolgál.

b. A lapon Általános ha meg kell adnia a nyomkövetési információk mentési helyét:

1). A nyomkövetési információk egy fájlba naplózhatók (alapértelmezés szerint 5 MB):

· paraméter Fájl átgörgetésének engedélyezése meghatározza, hogy az egyik fájl kitöltésekor automatikusan létrejön-e a következő. A következő fájl neve megegyezik az előző fájl nevével, de a neve mellé szám kerül (1, 2, 3 stb.)

· paraméter A szerver feldolgozza a nyomkövetési adatokat segítségével növelhető a nyomkövetési információk rögzítésének megbízhatósága. A négyzet bejelölése után a szerver kezeli a nyomkövetési információk feldolgozását.

2). A nyomkövetési információk egy SQL Server táblában tárolhatók. A rendszer automatikusan létrehoz egy táblázatot a kívánt oszlopkészlettel.

3). A paraméter használatával Nyomkövetési leállítási idő engedélyezése Megadhat egy időpontot, amikor a nyomkövetés automatikusan kikapcsolódik.

c. A lapon Események kiválasztása meghatározza az információgyűjtés paramétereit. Az ezen a lapon található táblázatban ki kell jelölnie a szükséges eseményeket (sorokban) és a hozzájuk tartozó információkat (oszlopokban). Az összes sor és oszlop megjelenítéséhez jelölje be a négyzeteket Összes esemény megjelenítéseÉs Összes oszlop megjelenítése.

1). gombon keresztül Oszlopszűrők(Oszlopszűrők) állítsa be a gyűjtendő szűrőket szükséges információkat(egy adott adatbázisban vagy egy adott alkalmazás által végrehajtott műveletek nyomon követése, ill felhasználó határozza meg) – Mint vagy Nem tetszik;

2). gomb segítségével Oszlopok rendezése(Oszlopok rendezése) konfigurálja az oszlopok sorrendjét a megjelenítéshez vagy rögzítéshez a profilkészítőben az adatok csoportosításának lehetőségével - a Csoport szakaszban.

4. Az összes nyomkövetési paraméter beállítása után kattintson a gombra Fut(Futtatás) (lásd: 8.2. ábra)

Rizs. 8.2. Információk megtekintése nyomkövetési munkamenet közben

Az ablak felső része a szerveren történt eseményeket jeleníti meg, az alsó része pedig részletes információkat minden eseményhez (például SQL parancskódhoz).

A nyomkövetési ablakban elérhető lehetőségek:

1. Ha a lapon Oszlopok rendezése A sablontulajdonságokban a csoportosításra kijelölt oszlopokat a megtekintő ablakban ezen oszlopok szerint csoportosíthatja a rekordokat. Erre a célra a menüben Kilátás parancs megadva Csoportosított nézet;

2. Ha a listán Csoport csak egy oszlop került elhelyezésre, akkor lehetősége van a megjelenítési mód használatára Összesített nézet(lásd 8.3. ábra). Ez a mód a paranccsal engedélyezhető Összesített nézet ugyanabból a menüből Kilátás.

Rizs. 8.3. Kijelző mód Összesített nézet

3. A profilkészítőben megnyithatja a fájlokban és nyomkövetési táblákban elmentett eseményeket. Lehetőség van a rögzített műveletek megismétlésére is a menü használatával Visszajátszás;

4. A nyomkövetési információkat a System Monitor teljesítményszámlálóihoz társíthatja. Ehhez tegye a következőket:

· definiáljon egy nyomkövetési munkamenetet, amely során rögzíteni kell az oszlopokra vonatkozó információkat Kezdési időpontÉs EndTime;

· nyomkövetési munkamenet indítása információk rögzítésével egy fájlba vagy táblázatba. Ezzel egyidejűleg gyűjtse össze a mérőállások jegyzőkönyvét egy fájlba Teljesítményfigyelő;

· nyitott összegyűjtött információkat a nyomkövetési fájlból a profilkészítőben, majd használja a parancsot Teljesítményadatok importálása menüből Fájl.



Kapcsolódó kiadványok