Export SQL procedură stocată într-un fișier și de a genera Script-ul său

în articolele anterioare, am revizuit un algoritm general de a găsi și ștergerea tranzacțiilor deschise incomplete în bazele de date SQL Server, a creat un tabel pentru fixarea tranzacțiilor incomplete și o procedură CRUD-stocate, și a implementat numeroase setări care vor face documentul nostru flux de lucru productiv și la îndemână.

să exportăm și să testăm o procedură stocată, să generăm codul acesteia și să o transformăm într – un script-va fi executată pe orice gazdă sau un grup de gazde prin specificarea parametrilor de intrare adecvați.

Export procedură stocată în SQL Server

de asemenea, poate fi destul de util să generați un script pentru crearea obiectelor bazei de date necesare, de exemplu, să generați un script pentru a exporta o procedură stocată într-un fișier sau să copiați procedura stocată în alte soluții. Pentru aceasta, urmați pașii următori:

  • în Exploratorul de obiecte, faceți clic dreapta pe baza de date
  • selectați activități din meniul contextual care apare
  • selectați comanda generare Scripturi
selectarea comenzii generare Scripturi
Fig. 1 selectarea comenzii generare Scripturi
  • selectați obiectele de script
selectarea obiectelor pe care doriți să le scrieți
Fig. 2 selectarea obiectelor pe care doriți să script
  • în fereastra Set Scripting Options, selectați Script to File
selectarea scriptului pentru fișier
Fig 3. Selectarea scriptului în fișier
  • rulați scriptul generat împotriva bazei de date țintă.

când se efectuează toți acești pași, vom obține un script generat al procedurii stocate exportate.

testarea unei proceduri stocate

să revenim la o procedură stocată pe care am creat-o în partea 2. Dacă tragem cursorul într-o procedură stocată, va apărea un meniu derulant:

meniul derulant procedură stocată
Fig 4. Meniul derulant procedură stocată

pentru a funcționa corect, procedura stocată trebuie să aibă o descriere. În cazul în care nu a fost adăugat încă, vă rugăm să rulați următorul script:

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identification of frozen transactions (forgotten ones that do not have active requests) with their subsequent removal' , @level0type=N'SCHEMA',@level0name=N'srv', @level1type=N'PROCEDURE',@level1name=N'AutoKillSessionTranBegin'
GO

sau du-te pentru proprietățile extinse ale obiectului:

adăugarea descrierii procedurii stocate
Fig.5 Adăugarea descrierii procedurii stocate

de asemenea, puteți adăuga o descriere utilizând această metodă.

generarea codului procedurii stocate

îl puteți apela cu un clic dreapta pe meniul derulant al unei proceduri stocate, apoi selectați „Script Object as CREATE / ALTER”:

selectarea
Fig.6 selectarea „obiectului Script ca Creare / Modificare” în meniul contextual

odată ce faceți acest lucru, va apărea un script pentru modificarea obiectului – în cazul nostru, va fi modificarea procedurii stocate. Dacă nu există niciun obiect, ar exista un script pentru crearea acestuia. Acest script poate fi mutat cu ușurință la instanțele corespunzătoare MS SQL Server.

transformarea codului de procedură stocat într-un script

puteți selecta „Convert EXEC to Script” într – un meniu derulant:

selectarea
Fig.7 selectarea comenzii” Convert EXEC to Script ” din meniul principal SQL Complete

în loc să apelați o procedură stocată, va fi creat un script, parametrii de intrare vor deveni variabile, iar conținutul procedurii stocate va deveni un script. Este o caracteristică la îndemână atunci când testați codul:

rezultatul creării unui script dintr-o procedură stocată
Fig.8 rezultatul creării unui script dintr-o procedură stocată

acum Puteți rula scriptul derivat pe orice gazdă sau un grup de gazde prin setarea valorilor corespunzătoare ale parametrilor de intrare.

Istoricul creării interogărilor

să examinăm acum o altă funcționalitate importantă – SQL Complete: Istoricul execuției care afișează interogările anterioare. Pentru a face acest lucru, faceți clic pe butonul SQL Complete: Execution History:

alegerea
Fig.9 alegerea comenzii „Istoricul execuției” din meniul principal SQL Complete

veți vedea următoarea fereastră:

afișarea scripturilor executate
Fig.10 afișarea scripturilor executate

colțul din stânga sus al ferestrei conține filtre pentru cuvinte și interval de timp, în timp ce colțul din dreapta arată numărul de interogări care au fost găsite pe baza datelor introduse în filtru. Partea de jos a ferestrei arată interogarea selectată din tabel.

tabelul este format din următoarele coloane:

  1. Status – arată dacă o interogare a fost finalizată cu succes (bifă albă într – un cerc verde) sau nu (cruce albă într – un cerc roșu)
  2. QueryText – afișează textul interogării
  3. Dimensiune (octeți) – afișează dimensiunea măsurată în octeți
  4. execuție On – afișează data și ora la care a fost executată o interogare
  5. durata – arată timpul în care a fost nevoie de o interogare pentru a fi executat
  6. fișier – arată numele fișierului și o cale completă la acesta
  7. server – arată numele serverului
  8. utilizator-arată un utilizator care a executat un script
  9. bază de date-arată un baza de date în care a fost executat un script

căutarea coloanelor „QueryText” și „Execution On” se face în filtrele „Search” și „From/To”.

de asemenea, puteți sorta coloanele de date în ordine crescătoare sau descrescătoare făcând clic pe un antet al unei coloane corespunzătoare. În mod implicit, sortarea coloanei „execuție pe” este activată în ordine descrescătoare.

puteți sorta mai multe coloane în același timp ținând apăsat un buton SHIFT. De asemenea, puteți configura filtre mai complexe făcând clic pe semnul filtru:

Configurarea filtrării coloanelor
Fig.11 Configurarea filtrării coloanelor

să introducem acum numele procedurii stocate „AutoKillSessionTranBegin” în filtrul „Căutare” :

căutarea procedurii stocate în
Fig.12 căutarea procedurii stocate în fila” Istoricul execuției ”

ca rezultat, obținem un istoric complet de creare a srv.AutoKillSessionTranBegin procedură care a fost descrisă înainte.

dacă faceți clic dreapta pe un rând de tabel adecvat, puteți deschide un script într-o fereastră nouă sau îl puteți copia în clipboard pentru a-l lipi oriunde este necesar:

copierea scriptului selectat din
Fig.13 copierea scriptului selectat din fila „Istoricul execuției”

puteți deschide un script într-o fereastră nouă făcând dublu clic pe scriptul dorit într-un rând de tabel.

de asemenea, puteți specifica cât timp este stocat Istoricul execuției, dimensiunea maximă a interogării și calea de stocare a istoricului:

Fig.14. Setările comenzii” Istoricul execuției ” din SQL Complete

puteți citi mai multe detalii despre funcționalitatea istoricului execuției aici.

asta e tot, oameni buni. Noua funcționalitate a fost dezvoltată, testată și mutată în instanțe MS SQL Server adecvate.

  • autor
  • Postări recente
Evgheni Gribkov

Evgeniy Gribkov

Evgeniy este un analist de baze de date MS SQL Server, dezvoltator și administrator. El este implicat în dezvoltarea și testarea instrumentelor de gestionare a bazelor de date SQL Server. Evgeniy scrie, de asemenea, articole legate de SQL Server.

Evgheni Gribkov

ultimele postări de Evgeniy Gribkov (vezi toate)

  • crearea procedurii stocate pentru abandonarea tabelelor Temporare locale în SQL Server-16 Iunie 2021
  • depozit de control al sursei de legături dedicate – 6 mai 2021
  • controlul versiunii bazei de date utilizând controlul sursei pentru SQL Server – Mai 5, 2021

sql complet, sql server, tranzacții sql server, sql stocate procedura

Leave a Reply

Adresa ta de email nu va fi publicată.