Creare folder de windows prin apelarea unei proceduri sql

In cazul in care avem nevoie ca, in timpul executiei unei proceduri stocate pe serverul de sql, sa cream un folder de windows, am facut o procedura ce primeste ca parametru o cale de folder de windows, iar procedura va crea in acea cale folderul dorit. Spre exemplu:

  • procedura primeste ca parametru C:\Windows\Test\ si ea va crea folderul Test in calea existenta C:Windows.
  • procedura primeste ca parametru C:\Test1\Test2\ si ea va crea in partiatia existanta C: folderul Test1 in care va crea subfolderul Test2.
[mai mult...]

Ultima rulare a unei proceduri stocate

Pentru cazurile in care avem nevoie sa stim cand anume a fost rulata ultima oara o anumita procedura am creat o procedura stocata. Aceasta primeste ca parametru numele procedurii cautate si returneaza ultima data cand a fost executata, dar si ultima data cand serverul de sql a fost restartat.

De ce este nevoie sa stim si cand a fost restartat ultima data serverul de sql? Pentru ca, in cazul in care de la ultimul restart de sql, procedura cautata nu a fost rulata niciodata, nu vom avea o data ultima de rulare pentru procedura cautata, si astfel, nu vom sti ca nu a fost rulata niciodata de la ultimul restart de sql server.

[mai mult...]

Vizualizare permisiuni user pe toate bazele de date de pe un server

Am creat o procedura ce primeste ca parametru un nume de user si, pentru acel user, procedura returneaza permisiunile acelui user pe toate bazele de date de pe serverul sql pe care este rulata.

Procedura returneaza cate o linie pentru fiecare baza de date de pe server.

In cazul in care userul primit ca parametru nu are drept pe o baza, procedura returneaza o linie goala.

In cazul in care userul primit ca parametru are drept pe o baza, procedura returneaza:

Numele serverului

Numele bazei de date

Numele userului

Tipul lui (daca este user de sql sau user de windows)

Permisiunea

Tipul rolului prin care a primit acea permisiune

 

[mai mult...]

Activare Line Numbers in SSMS

Cei ce au scris cod sql in SSMS stiu ca, atunci cand la rularea codului serverul intoarce o eroare, alaturi de mesaj primim si numarul liniei la care se afla eroarea. Pentru a vizualiza rapid numarul liniei in SSMS se poate face o setare care sa activeze acest lucru.

[mai mult...]

Setare custom colors in SSMS

Sunt situatii foarte dese in care din SSMS suntem conectati la mai multe servere, si avem mai multe tab-uri deschise, cu scripturi catre diverse servere. Pentru a nu ne incurca intre diferitele servere ne-ar fi de ajutor o solutie care sa ne arate vizual cand suntem pe un server sau altul.

[mai mult...]

Istoric restaurare pentru o anumita baza

Uneori avem nevoie sa aflam istoricul restaurarilor pentru o baza de pe serverul de sql. Pentru aceasta am creat o procedura ce returneaza istoricul de restore pentru o anumita baza ce este primita ca parametru al procedurii.

Procedura returneaza cate o linie pentru fiecare restore efectuat pentru baza primita ca paremtru, iar coloanele returnate sunt:
NumeServer – numele serverului pe care este baza
NumeBaza   – numele bazei pentru care se returneaza istoricul de restore
DataRestaurare – data si ora la care s-a facut restaurarea respectiva
LSN_First – reprezinta log sequence number-ul de la care a pornit restaurarea (poate fi util in anumite situatii)
LSN_First – reprezinta log sequence number-ul la care s-a oprit restaurarea (poate fi util in anumite situatii)
TipRestaurare – daca a fost facuta o restaurare de tip Full, Differential, Log, Filegroup, etc.
[mai mult...]

Ultima executie a unei proceduri

Pentru situatiile cand avem nevoie sa aflam cand a fost rulata ultima data o anumita procedura pe baza de date  am conceput o procedura ce returneaza cea mai recenta data si ora cand procedura cautata a fost rulata pe baza.

Procedura are un parametru @NumeProcedura.
Daca acest parametru are o valoare, atunci procedura returneaza ultima rulare pt procedura specificata in parametru.
Daca parametrul este lasat necompletat, atunci procedura returneaza toate procedurile rulate de la ultimul restart al serverului de sql si, pentru fiecare dintre aceste proceduri, este afisata data si ora ultimei rulari.
[mai mult...]

GGasire triggers pe baza de date

Pentru cazurile in care avem nevoie sa stim ce triggeri sunt definiti pe o anumita baza de date, am facut o procedura ce returneaza toti trigerri definiti pe obiectele unei baze de date, impreuna cu obiectele respective si statusul lor.

 

Coloanele returnate vor fi:

TableName – numele obiectului pe care este definit trigerrul

TriggerName – numele trigerrului

TriggerStatus – statusul trigerrului (care poate sa fie activ sau inactiv)

[mai mult...]

Top proceduri consumatoare de CPU

Pentru situatiile in care serverul de sql merge greu, si nu stim ce anume consuma resursele, am facut o procedura care, rulata pe server, intoarce procedurile de sql ce utilizeaza cel mai mult procesorul.

Procedura va avea un parametru de tip integer, care va spune numarul de proceduri care sa fie returnate (top x)

Coloanele returnate vor fi:

DatabaseName – numele bazei de date pe care este definita procedura

SchemaName – numele schemei aferente procedurii

ObjectName – numele procedurii

LastExecutionTime – ultima oara cand procedura a fost apelata

TotalNumberOfExecution – numarul total de apelari ale procedurii de la ultimul restart al serverului de sql

AverageLogicalReads – numarul mediu de citiri logice efectuate de catre CPU

AverageLogicalWrites – numarul mediu de scrieri logice efectuate

[mai mult...]