Contacte

Analiza interogării utilizând profilul SQL. SQL Profiler rezolvă probleme

Ce învățați din acest articol?

  • Instrumentul de urmărire a scopului SQL Profiler
  • Cum să urmăriți textul cererii către DBMS în care interogarea 1C este difuzată
  • Urmărirea setărilor filtrului
  • Cum să îndeplinească configurația personală SQL Profiler

Adesea, situația apare atunci când o cerere din 1C din anumite motive funcționează încet, dar analiza textului interogării nu ne spune probleme.

În acest caz, trebuie să studiezi această problemă la un nivel inferior. Pentru a face acest lucru, trebuie să vedem interogarea SQL și planul de solicitare. Pentru a face acest lucru, puteți utiliza SQL Profiler.

SQL Profiler - scop

SQL Profiler este un program care include MS SQL Server, care este conceput pentru a vedea toate evenimentele care apar în serverul SQL. Cu alte cuvinte, este necesar să se înregistreze urmărirea.

În ce cazuri, acest instrument poate fi util pentru programatorul 1C? În primul rând, puteți obține textul interogării SQL și puteți vedea planul său. Se poate face și în Jurnalul Tehnologic (TZH), dar planul de interogare din TH nu este atât de convenabil și necesită anumite abilități și abilități. În plus, profilul puteți vedea nu numai un text, ci și un plan grafic pentru efectuarea unei interogări, care este mai convenabilă.

De asemenea, profilul vă permite să aflați:

  • cererile sunt mai lungi decât un anumit moment
  • solicitări pentru un anumit tabel
  • așteptări pe încuietori
  • taimauts.
  • interblocare etc.

Analiza interogării utilizând profilul SQL

Adesea, profilul se aplică în mod specific pentru a analiza cererile. Și, în același timp, trebuie să analizați toate cererile executabile și modul în care o interogare specifică în limba 1c este difuzată în SQL și să acorde atenție planului său de execuție.

În special, este necesar să se înțeleagă de ce se efectuează încet cererea. Sau atunci când construiți o cerere mare și complexă, trebuie să vă asigurați că interogarea SQL nu conține conexiuni cu o substanță.

Pentru a urmări interogarea în urmărire, efectuați următorii pași:

1. Rulați SQL Profiler: Start - Toate programele - Microsoft SQL Server 2008 R2 - Mijloace de performanță - SQLProctor.

2. Creați o nouă urmă: Fișier - Creați urmă (Ctrl + N).

3. Indicați serverul DBMS pe care se află baza noastră de date și faceți clic pe Conectați:

Nimic nu ne împiedică să realizăm trasarea serverului DBMS, situată pe orice alt computer.

4. În fereastra care apare Proprietăți de urmărire Treceți la marcaj Selectarea evenimentelor:

Deoarece avem nevoie de interogări și de planuri de solicitare, trebuie să activați evenimentele corespunzătoare. Pentru a afișa o listă completă de proprietăți și evenimente Porniți steagurile Arătați toate evenimentele și Afișați toate coloanele. Acum trebuie să selectați numai evenimentele afișate în figura de mai jos, restul - pe care doriți să dezactivați:

Descrierea acestor evenimente:

  • ShowplanStatisticsProfile - plan de execuție a textului
  • ShowplanxMlStatisticsProfile- Plan de execuție grafică
  • RPC: Textul completat de interogare dacă este executat ca o procedură (dacă cererea 1C este executată cu parametri)
  • SQL: Textul de interogare a batchcompletați dacă este executat ca o interogare obișnuită (dacă cererea 1C este îndeplinită fără parametri)

6. În această etapă, trebuie să configurați filtrul pentru evenimentele selectate. Dacă filtrul nu este setat, atunci vom vedea solicitări pentru toate bazele de date situate pe acest server DBMS. Prin intermediul butonului filtrelor coloanei, instalați filtrul de bază de date:

Acum vedem în urmă cererile numai la baza de date "testBase_8_2".

De asemenea, puteți pune un filtru și alte câmpuri, cele mai interesante dintre ele:

  • Durată
  • TextData (de obicei acesta este textul interogării)
  • Rowcounts (numărul de rânduri returnate de solicitare)

Să presupunem că trebuie să "capturăm" toate solicitările la masa "_inforg4312" cu o durată mai mare de 3 secunde în baza de date "testBase_8_2". Pentru asta aveți nevoie:

a) Instalați filtrul de bază de date (vezi mai sus)
b) Instalați filtrul de durată (instalat în milisecunde):

c) Instalați filtrul prin textul textului:

Pentru a seta filtrul după textul textului, utilizați masca. Dacă aveți nevoie să urmăriți cererile care contactează mai multe tabele, mai multe elemente sunt create în secțiunea "Se pare că". Numite condiții de filtrare lucrează împreună.

7. Acum rulați traseul folosind butonul Alerga La fereastră Proprietăți de urmărire Și vedem evenimentele care cad sub filtrele instalate, a cărui afișare a fost configurată.

Butoanele panoului de comandă servesc la controlul următorului:

Scopul butoanelor:

  • Radieră - Șterge fereastra de urmărire
  • start - Rulează următorul
  • Pauză - pune o urmă de pauză, când apăsați Start, urmărirea este reînnoită
  • Stop - oprește urmărirea

8. Fereastra de urmărire este formată din două părți. În partea de sus există evenimente și proprietățile acestora, în partea de jos - informații în funcție de tipul de evenimente. Pentru exemplul nostru, textul interogării va fi afișat aici sau planul său.

9. Vom începe o cerere în consola de interogare 1C și vom vedea cum afectează profilul:

În funcție de comportamentul de urmărire, se poate observa că cererile în cele din urmă au dovedit mai multe și doar unul dintre ele este interesant. Cererile rămase sunt service.

10. Proprietățile evenimentului fac posibilă evaluarea:

  • câte secunde interogare satisfăcută (durata)
  • câte citiri logice (citește)
  • câte rânduri o cerere returnată ca rezultat (rowcounts) etc.

În cazul nostru, cererea a fost efectuată 2 milisecunde, a făcut 4 citiri logice și a returnat 1 șir.

11. Dacă vă uitați la un eveniment de mai sus, puteți vedea un plan de solicitare în formă grafică:

Din plan se poate observa că căutarea este efectuată pe indicele prețurilor, acest plan nu poate fi numit perfect, deoarece indexul nu este acoperit, câmpurile câmpului și numele sunt obținute utilizând Keylookup, care durează 50% din timp .

Folosind meniul contextual, planul grafic pentru solicitarea rezultată poate fi salvată într-un fișier separat cu extensia * .sqlplan și deschideți-l într-un profiler pe un alt computer sau utilizând programul SQL Sentry Plan Explorer, care este mai avansat.

12. Dacă credeți și mai mult, vom vedea același plan de interogare, dar deja în formă de text. Acest plan este afișat în TJ, PC și alte mijloace de control al performanței 1c.

  • În forma profilului în sine, adică cu extensia * .trc
  • În format XML.
  • Efectuați un șablon de șabloane (consultați articolul următor)
  • Traseu greu sub forma unei tabele de baze de date. Acesta este un mod foarte convenabil atunci când, de exemplu, trebuie să găsiți cea mai lentă interogare în urmărirea sau filtrul de interogări prin orice parametru.

Apoi selectați baza de date de pe serverul specificat, specificați numele tabelului în care urmează să fie salvate următorul. Puteți utiliza o tabelă existentă sau puteți da un nume nou, iar apoi acest tabel va fi creat automat.

Acum este posibilă construirea interogărilor oricărei complexități la masa noastră: de exemplu, căutați cele mai îndelungate solicitări.

De asemenea, trebuie amintit că durata este stocată într-un tabel în milioane de dolari de o secundă, iar când rezultatul este derivat, este necesar să se traducă o valoare pentru milisecunde. De asemenea, în tabel există o coloană Rownumber care prezintă numărul acestui șir în urmă.

14. Când utilizați un profiler pentru a analiza solicitările, setarea constantă a evenimentelor și filtrelor dorite va lua în mod constant de la dvs.

În acest caz, șabloanele de urmărire ne vor ajuta, unde configurăm filtrele de care avem nevoie și ordinea coloanelor și apoi folosim pur și simplu un șablon existent atunci când creați o nouă urmă.

Pentru a crea un șablon, utilizați meniul Fișier - Șabloane - Șablon nou:

În prima filă, specificați tipul de server, numele șablonului și, dacă este necesar, setați steagul să utilizeze acest șablon implicit.

În cea de-a doua filă, facem alegerea evenimentelor necesare și stabilirea filtrelor (așa cum se arată mai sus).

Când creați o nouă urmă, putem specifica șablonul dorit, iar apoi pe cea de-a doua filă toate filtrele și evenimentele vor fi completate automat de șablonul creat.

Andrey Burmistrov.

La dezvoltarea modulelor de aplicare ale sistemului Lexema.ru, necesitatea unei analize a cererilor de baze de date apare periodic atunci când funcționează formularele pe ecran, interogări, rapoarte, proceduri stocate și alte obiecte pentru a diagnostica problemele. Pentru a rezolva astfel de sarcini, sunt intenționate instrumentele de profilare a interogării SQL. Ei permit:

  • urmăriți evenimentele de diferite tipuri pe serverul de baze de date (execuția cererilor, procedurile stocate etc.)
  • filtrați evenimente pe diferite criterii (numele BD, conectarea utilizatorului etc.)
  • Înregistrați secvența de acțiuni sub formă de urmărire a evenimentelor. Ulterior, urmărirea poate fi analizată, precum și stocată într-un fișier sau în baza de date.
  • analizați performanța (viteza de execuție) Cererile de căutare și eliminare a sistemului "blocajele"
  • etc.

Acest articol discută două instrumente:

  • Lexema SQL Profiler, încorporat în modelul de aplicație
  • MS SQL Server Profiler, care face parte din serverul MS SQL

Lexema SQL Profiler.

Acest instrument este conceput pentru a analiza solicitările la serverul de baze de date, inițiat de programul modulor pentru a dezvolta configurații de aplicare. Cu aceasta, puteți explora structura bazei de date logică aplicată și a obiectelor sale.

Pentru a utiliza Lexema SQL Profiler, executați modelul de aplicație. Faceți clic pe butonul cu imaginea cilindrului din colțul din stânga sus al ferestrei:

Pentru a începe înregistrarea urmăririi solicitărilor SQL Modeller către serverul de baze de date, faceți clic pe butonul Run din bara de instrumente.

Efectuați acțiunile din modulatorul pentru care doriți să explorați cererile de bază de date. De exemplu, după deschiderea unei liste de modele, va fi creată o urmărire din mai multe solicitări:

Tabelul de mai sus conține o listă de evenimente (interogări SQL), câmpul din partea de jos - conținutul (codul SQL)

Câmpuri de masă:

  • EventClass.
  • TextData.
  • Durată
  • Timpul de începere
  • Sfârșitul timpului.
  • Numele aplicatiei.
  • Citește.
  • Scrie.
  • Tranzacţie.

De exemplu, din urma evenimentelor la deschiderea unei liste de modele, puteți desena următoarele concluzii: sunt solicitate date din trei tabele (L8_Model, L8_Modelproperty și L8_namespace); Cea mai lungă interogare se face la tabelul L8_Modelproperty (242 ms).

MS SQL Server Profiler

MS SQL Server Profiler este un instrument inclus în pachetul MS SQL Server care vă permite să interceptați evenimentele serverului de bază de date. Evenimentele pot fi salvate în fișierul de urmărire sau în baza de date pentru o analiză sau utilizare ulterioară pentru a repeta o anumită serie de pași pentru a juca o problemă pentru diagnosticarea sa. Programați scenarii utilizând Profiler SQL Server:

  • sQL Server Baza de date a motorului motorului
  • depanarea instrucțiunilor TRANSACT-SQL și procedurile stocate
  • analiza performanței prin identificarea lentă a cererilor de lucru
  • efectuarea testelor de stres și controlul calității prin redarea urmelor
  • redarea unei urmă a unuia sau a mai multor utilizatori
  • verificați instrucțiunile Transact-SQL și procedurile stocate la etapa de dezvoltare a proiectului în modul pas cu pas pentru a garanta executarea corectă a codului
  • depanarea problemelor în SQL Server utilizând interceptarea evenimentului în sistemul de producție (versiunea produsului) și redați-le în depanare (versiunea de testare). Aceasta este o oportunitate foarte utilă deoarece permite în timpul verificării sau depanării pentru a continua utilizarea sistemului de producție.
  • auditul și urmărirea acțiunilor care apar în instanța SQL Server. Această caracteristică permite administratorului de securitate să vizualizeze orice evenimente de audit, în special încercări de succes și nereușite de a se conecta la sistem și de acces la autoritățile și obiectele
  • salvarea urmăririi rezultatelor în format XML, care oferă o structură ierarhică standardizată a rezultatelor urmăririi. Acest lucru vă permite să modificați urmele existente sau să le creați manual pentru redarea ulterioară.
  • analiza statistică a rezultatelor urmăririi, permițând producerea și analizarea claselor similare de evenimente. Rezultatele conțin contoare obținute pe baza grupului de o coloană
  • oferind posibilitatea creării de utilizatori de urmărire care nu sunt administratori
  • setarea șabloanelor de urmărire, care pot fi utilizate apoi pentru urmele ulterioare

Rulați și conectați-vă la server

Puteți rula Profilul Server MS SQL din meniul Windows OS (meniu "Start") sau din meniul MS SQL Server Management Studio (Point de service - SQL Server Work "). După lansare, trebuie să vă conectați la server - introduceți adresa serverului, numele contului și parola:

Setarea parametrilor de urmărire

Apoi, înainte de începerea traseului, este necesar să se stabilească proprietățile sale:

  • Numele de urmărire - este recomandabil să se stabilească în cazul în care este planificată să fie salvată
  • Utilizați șablonul - Definește configurația implicită a traseului. Anume, acesta include clasele de evenimente care trebuie monitorizate la SQL Server Profiler. De exemplu, puteți crea un șablon care specifică evenimentele utilizate, coloanele de date și filtrele începe.
  • Salvați în fișier pentru a re-deschide și analiza
  • Salvați în tabel - În acest caz, trasarea va fi salvată în baza de date și va fi posibilă analizarea instrumentelor SQL.
  • Porniți timpul de oprire a traseului - este necesar în cazul observațiilor pe termen lung

Selectarea tipurilor de evenimente și atributele acestora

Un pas important de stabilire a traseului este alegerea evenimentelor (trebuie să mergeți la fila corespunzătoare). Fila "Select Event" conține o rețea - un tabel care conține fiecare dintre clasele de eveniment disponibile pentru urmărire. Pe fiecare clasă de evenimente din tabel reprezintă o singură linie. Clasele de eveniment pot varia ușor în funcție de tipul și versiunea serverului la care sunt conectate. Clasele de evenimente sunt identificate în coloana evenimentului GRID și sunt grupate pe categorii de evenimente. Coloanele rămase enumeră coloanele de date care pot fi returnate pentru fiecare clasă de evenimente. Pentru a activa evenimentele de urmărire, verificați caseta din coloana evenimentului.

În mod implicit, această listă conține doar câteva categorii și tipuri de evenimente în conformitate cu șablonul selectat (a se vedea mai sus). Nu sunt afișate toate coloanele. Pentru setări mai detaliate, este recomandat să puneți casetele de selectare "Afișați toate evenimentele" și "Afișați toate coloanele".

Dacă urmărirea este efectuată pentru a urmări cererile produse de aplicația Lexema.ru, va fi suficient pentru a menționa 3 tipuri de evenimente în 2 grupe:

  • Proceduri stocate (proceduri stocate)
    • RPC: Finalizat - apare când apelul la distanță este finalizat (RPC)
    • SP: Finalizat - apare atunci când procedura stocată este finalizată
  • TSQL - Urmărirea executării instrucțiunilor TRANSACTSQL transmise de către clienți la serverul de baze de date
    • SQL: Batch complicat - apare la executarea executării instruirii TRANSACTSQL

Notă: Caseta de selectare din coloana Evenimente poate fi in trei state:

  • nici o casetă de selectare - un eveniment nu este urmărit
  • este instalată o bifă neagră - toate coloanele de date sunt selectate - toate datele posibile vor fi colectate pentru evenimentul selectat.
  • este instalată o bifă gri - numai câteva coloane de date sunt selectate - Numai unele date vor fi colectate pentru evenimentul selectat în conformitate cu timbrele din coloane.

Implicit, nu toate coloanele sunt selectate pentru unele evenimente (merită o bifă gri). Pentru a selecta toate coloanele, trebuie să eliminați marcajul de verificare și să îl instalați din nou. În acest caz, căpușele vor fi instalate pentru toate coloanele de date vizibile.

Mai jos sunt alte categorii utile și tipuri de evenimente:

  • Audit de securitate.

Setarea parametrilor de filtrare

Filtrele limitează acumularea de evenimente în trace. Dacă filtrul nu este instalat, atunci toate evenimentele din clasele de evenimente selectate sunt returnate la ieșirea de urmărire. Setarea filtrului de urmărire este opțională, dar filtrul minimizează costurile de resurse în timpul urmăririi. Filtrele pentru definițiile de urmărire sunt adăugate în fila "Selectarea evenimentului" din caseta de dialog "Trace Properties" sau "Proprietăți șablon de urmărire".

La urmărirea evenimentelor care au loc atunci când utilizați interfața web Lexema.ru cu un anumit utilizator, este recomandabil să se instaleze filtrul "ApplicationName"<логин_пользователя>+ & 1, de exemplu, "Petrovana & 1", unde Petrovan - Autentificare utilizator:

Cu această setare a filtrului, numai evenimentele generate de utilizatorul specificat vor cădea în urmă.

Evenimente de urmărire

Să presupunem că după setările descrise mai sus și lansarea de urmărire, utilizator cu login " aIRAT " intră în sistem și deschide registrul categoriilor de venituri și cheltuieli ale modulului de contabilitate la domiciliu și apoi deschide unul dintre documente (ca exemplu):

Ca rezultat, o listă de evenimente va fi afișată în trasarea profilului SQL Server:

Analizând o listă de evenimente de urmărire poate fi văzută că una dintre cele mai lungi cereri a fost următoarea:

exec sp_executesql n. "Selectați ca, ca, ca, ca, ca, ca, ca, ca, ca, ca, ca, ca, ca De la ", n "@ PrimaryyBoundary Biget, @ Topcount Biget", @ PrimaryKoundary \u003d , @ Topcount \u003d null

Judecând după numele obiectului (VTransactionCategory), aceasta este o cerere de selectare a unei liste de categorii de tranzacții. Tipul acestui eveniment - RPC: Finalizat (finalizarea executării procedurii la distanță).

De asemenea, în listă puteți vedea evenimente de tip SQL: batchcompleted:

Acesta este rezultatul interogării (QuerySource) Lexema.ru.

Pentru a căuta în textul solicitărilor urmărite în urmărire, trebuie să faceți clic pe butonul "Găsiți un șir" (cu pictograma binocluară) din bara de instrumente sau faceți clic pe combinația CTRL + F cheie:

Apoi, trebuie să introduceți textul dorit și să selectați o coloană de căutare (textul interogării este conținut în coloana TextData). După ce faceți clic pe butonul "Următorul", cursorul va fi poziționat pe șirul de evenimente care conține textul dorit.

Pentru testare și depanare a datelor, aceste solicitări pot fi re-efectuate manual. Pentru a face acest lucru, trebuie să copiați textul, deschideți SQL Server Management Studio, Conectați-vă la serverul corespunzător, selectați baza de date, creați o interogare, introduceți textul IT și executați.

Produsul SQL Server Profiler Product este o coajă grafică destinată creării de urme și analizarea rezultatelor urmăririi. Evenimentele sunt salvate în fișierul de urmărire, care pot fi analizate sau utilizate pentru a reda anumite secvențe de pași pentru a identifica problemele care au apărut.

Pentru a urmări pașii în acest moment, trebuie să porniți MS SQL Profiler, să creați o piesă nouă și să configurați analiza indicatorilor:

În fila General, trebuie să specificați numele următorului. Specificați unde vor fi salvate datele din traseul eliminat - în fișierul și / sau în tabelul bazei de date.

De mare interes este fila "Selecție a evenimentelor":

Această pagină indică evenimentele care trebuie monitorizate. În acest exemplu, specificați datele de care aveți nevoie pentru a urmări planurile de interogare.

Obțineți 267 Tutoriale video pentru 1C gratuit:

Implicit, trasarea trece prin toate evenimentele specificate din toate bazele de date. Pentru a aplica selectați la datele obținute, trebuie să faceți clic pe butonul "Filtre coloane ...":

De exemplu, setați selecția prin identificatorul bazei de informații (puteți afla ID-ul de bază utilizând interogarea SELECT DB_ID (N'imäabaza ")).

Running Trace în profiler pentru 1c

După ce se fac toate setările, rămâne să executați urmărirea, pentru că trebuie să faceți clic pe "Run" (Run). De acum înainte, toate acțiunile specificate în filtru vor fi urmărite din acest punct.

De exemplu, lansați pista pentru momentul documentului "primirea bunurilor și serviciilor" pentru a urmări cele mai multe costuri ale forței de muncă.

După obținerea urmăririi urmăririi, este necesar să o analizați.

Analiza datelor din profiler

Pentru a analiza următorul, puteți salva fie la un fișier, fie în tabel. Vom salva tabelul bazei de date:

Unul dintre instrumentele mele preferate este profilul SQL Server, care este adesea chemat pur și simplu profiler. Acest utilitar afișează date despre orice număr de evenimente detaliate ale serverului SQL. Aceste evenimente de server pot fi vizualizate în fereastra Proprietăți TRACE (fig.49.3), precum și scrieți la un fișier sau un tabel pentru analiza ulterioară. Pentru a înregistra toate evenimentele sau subseturile selectate, puteți instala filtre.

PUC. 49.2. În acest exemplu, protocolul de contoare va înregistra informații

despre performanța serverului SQL în catalogul C: \\ Busteni PERF

Utilitarul Profiler SQL Server poate fi rulat din meniul Instrumente al programului Studio Management sau direct din dosarul SQL Server 2005 din meniul Start. Pentru a vizualiza acțiunile, trebuie să definiți o nouă urmă sau să utilizați fișierul existent.

Cu ieșirea pachetului de actualizare a profilului SP1 SQL Server, a primit ocazia! Urmărirea unor matrice de date mari pe computerele mari.

În plus, mai devreme, la monitorizarea serviciului de analiză, timpul a fost afișat în unitățile de timp sincronizate universale (UTC). Acum folosește ora sistemului local. Anterior, evenimentele reproduse cu succes au fost calculate incorect, ca rezultat, utilizatorul a primit statistici incorecte. Această problemă a fost eliminată.

Definirea unei noi urme

Atunci când se creează o nouă urmă (fie utilizând comanda de meniuri a fișierului ^ New, fie utilizând noua bara de instrumente a butonului de urmărire), se creează și o nouă conexiune la SQL Server și se deschide caseta de dialog Proprietăți Trace (fig.49.4). În fila Generală a acestei ferestre, este configurată urmărirea (în special numele, locația fișierului etc.), iar în fila de selectare a evenimentelor sunt definite evenimentele, datele și filtrele care pot fi înregistrate. Dacă trasarea funcționează, atunci acești parametri pot fi vizualizați, dar nu să se schimbe. Configurația de urmărire poate fi salvată ca șablon pentru a facilita crearea de noi urme în viitor.

Smochin. 49.4. Fila de selectare a evenimentelor Windows-ul de urmărire a proprietăților vă permite să selectați utilitarul de urmărire a evenimentelor

Urmărirea poate fi vizualizată în timp real, dar aceste date pot fi înregistrate simultan într-un tabel de fișier sau SQL Server. Acest lucru este util pentru analiza inteligentă ulterioară, comparații cu contoarele de monitorizare a datelor sau pentru importurile din utilitarul consilierului de reglare a motorului bazei de date.

Când citirile sunt scrise într-un dosar, pentru a crește productivitatea, acestea sunt combinate într-un lanț de 128 Kb; În mod similar, atunci când înregistrați la masă, datele sunt grupate pe mai multe linii.

Pentru a salva datele obținute prin Program Program, pentru o analiză ulterioară, utilizați o metodă de fișier de înaltă performanță, precum și o urmărire a serverului (vom vorbi mai târziu). Dacă doriți să analizați datele utilizând instrucțiunile T-SQL, utilizați exact aceeași abordare, dar după terminarea sesiunii de urmărire, deschideți fișierul recepționat în utilitarul de profile și selectați comanda fișierului ^ Salvare ca ^ din meniu.

Selectarea evenimentelor

Fila de selectare a evenimentelor determină compoziția acțiunilor efectuate de serverul bazei de date care urmează să fie înregistrate de utilitatea de profiler. Ca un monitor de performanță, profiler poate urmări o varietate de evenimente cheie SQL Server. Pentru a simplifica setarea de selecție, puteți utiliza șabloanele implicite.

I sql lot finalizat eveniment se bazează pe pachetele T-SQL

SVS în ansamblu (separat de terminatori de pachete) și nu instrucțiuni individuale.

| * Pe baza acestui fapt, Profiler înregistrează datele unui singur eveniment, independent

Simo din lungimea pachetului. Pentru a înregistra instrucțiuni individuale

DML Utilizați evenimentul complet de instrucțiuni SQL.

Nu toate evenimentele pot fi folosite pentru a juca urme. De exemplu, evenimentul SQL Start Start poate fi redat, iar evenimentul complet SQL Batch nu este.

În funcție de evenimentele de urmărire, devin disponibile date diferite. În ciuda faptului că coloana de date Spid pare opțională, această impresie este înșelătoare - este obligatorie.

Filtrarea evenimentelor

Programul Profiler este capabil să colecteze pentru dvs. un astfel de informații care pot umple cu ușurință dispozitivul de disc în clipire. Din fericire, programul oferit de program (figura 49.5) vă va ajuta să limitați această matrice numai prin datele care vă interesează.

Smochin. 49.6. Utilitarul Profiler SQL Server este capabil să integreze datele monitorizării performanței și să le sincronizeze cu evenimente urmărite.

Folosind urme SQL.

Programul SQL Profiler este utilizat în mod obișnuit interactiv și este destul de suficient pentru colectarea de date non-permanentă. Cu toate acestea, urmele lungi sunt capabile să acumuleze cu ușurință sute de mii de înregistrări, ceea ce poate provoca probleme destul de specifice pe stația de lucru care efectuează urmărirea. Soluția este redusă la crearea jurnalului de urmărire direct pe server. O astfel de urmărire va provoca o sarcină suplimentară mică pe server; În același timp, fișierele vor fi înregistrate prin blocuri de 128 kb.

În sistemele industriale angajate prin urmărirea pe partea serverului, înregistrați datele în fișierul de pe server este cel mai bun mod de a colecta informații.

despre performanță atunci când minimizați sarcina suplimentară pe server.

Urmărirea rulării pe server poate fi definită și implementată utilizând un set de proceduri stocate de sistem. Puteți scrie singur codul de software sau utilizați programul SQL Server Profiler.

Când urmărirea este configurată și testată către SQL Server Profiler, selectați fișierul ^ Export ^ Trace Definiție ^ pentru SQL Server 2005 din meniu pentru a genera scriptul T-SQL capabil să urmărească pe partea serverului.

Pentru a afla ce urme se execută pe server, efectuează o cerere la

SVS Prezentarea Namic a Managementului Systraces. Când te uiți la I * Rezultatele acestei solicitări, veți vedea o urmă suplimentară. Primul * Număr are întotdeauna așa-numita trasare implicită care colectează date pentru jurnalele SQL Server, este imposibil să o opriți.

Pentru a opri urmărirea serverului, utilizați procedura stocată SP_Trace_setstatus sistem. Primul argument (TRASID) este un identificator de urmărire, iar al doilea determină natura acțiunii. Valoarea zero a parametrului acțiunii duce la o oprire de urmărire, una - la lansarea sa și la două până la închidere și îndepărtare. Codul următor oprește urmărirea cu numărul 2.

În această prelegere, vom continua să studiem procedurile stocate care au început în "Crearea procedurilor stocate și gestionarea acestor proceduri". Veți învăța cum să analizați procedurile stocate și alte instrucțiuni T-SQL utilizând Analyzer Query Analyzer Query Server Microsoft SQL Server și profilul SQL Server Profiler. Din această analiză puteți determina cât de eficienți sunt operatorii T-SQL. O solicitare eficientă de server SQL utilizează o secvență adecvată de operații și indici adecvați pentru a reduce numărul de rânduri prelucrate și minimizarea numărului de operații I / O.

Utilizând Query Analyzer, puteți vedea planul de execuție selectat pentru operatorul T-SQL optimizator de cereri SQL Server. Query Optimizer. - Acesta este un modul intern care caută cel mai bun plan de execuție pentru fiecare operator T-SQL. Query Optimizer. Analizează fiecare instrucțiune T-SQL, analizează printr-o serie de posibile planuri de execuție și evaluează "costul" fiecărui plan din punctul de vedere al resurselor și timpului de procesare necesare. Planul este selectat cu cel mai mic cost. Costul fiecărui plan este determinat pe baza statisticilor existente, care sunt colectate de sistem și pot fi depășite. După cum puteți ști mai multe despre baza dvs. de date și despre datele dvs. decât query Optimizer.Este posibil să puteți crea un plan care să fie mai bun decât optimizatorul de interogare. Folosind informațiile pe care le afișează analizorul de interogare, puteți determina dacă planul de optimizare a interogării pentru un anumit operator va fi eficient și, dacă nu, puteți încerca să optimizați acest operator, modificându-l sau utilizând promptul SQL. În această prelegere, veți învăța cum să optimizați declarațiile T-SQL, care vor fi o adăugare la studiul utilizării analizorului de interogare.

Utilizarea profilerului, puteți analiza operațiunile din sistemul dvs. SQL Server pentru a determina ce instrucțiuni SQL și procedurile stocate utilizează resurse de sistem inutile. Posedând aceste informații, vă puteți concentra eforturile de reglare în primul rând pe acești operatori și proceduri stocate. În plus față de descrierea modului de utilizare a profilului, această prelegere arată, de asemenea, modul de utilizare a informațiilor obținute utilizând Profiler.

Utilizarea interogării SQL Anysenzer

Utilitarul de analiză a interogării vine cu Microsoft SQL Server 2000 în schimb



Ți-a plăcut articolul? Împărtășește-l