Verificare linked servers
Pentru simplificarea administrarii serverelor de sql am facut o procedura care, rulata pe un server de sql, verifica toate LinkedServer-ele de pe acel server si le testeaza conexiunea\functionalitatea.
Ea poate fi pusa sa ruleze si intr-un job, si poate trimite alerte pe email , alerte care sa contina linkedserver-ele ce nu mai sunt functionale.
Verificare parole sql server
Pentru cazurile in care avem o asemenea cerinta de raport de la audit sau pur si simplu pentru simplificarea adiministrarii serverului de sql, am facut o procedura ce returneaza fiecare login de pe un server de sql pe care e rulata si, pentru fiecare, returneaza urmatoarele coloane:
ServerName – numele serverului
SQL_Login – numele login-ului
IsSysAdmin – daca este sau nu membru al rolului sysadmin de pe server
IsWeakPassword – daca are parola slaba , adica daca are doar litere sau daca este la fel ca login-ul, etc
WeakPassword – contine date doar daca coloana anterioara are valoarea 1, si in ea este explicatia pt valoarea 1
PwdLastUpdate – ultima oara cand a fost schimbata parola
DateAudited – data si ora rularii procedurii
Functia INSTR
Pentru ca am avut nevoie de multe ori de o functie in sql server, care sa fie similara functiei INSTR din Oracle, am construit o astfel de functie folosind functiile builtin ale SQL Server.
Functia care are urmatorii parametri:
– un parametru de tip text (poate sa fie si o coloana de tip text dintr-o tabela) : @str
– un al doilea parametru de tip text: @substr
– un parametru de tip intreg : @start
– un al doilea parametru de tip intreg : @position
Functia replica ceea ce face functia INSTR in Oracle, mai exact, cauta cel de-al doilea parametru (@substr) in primul parametru (@str),
de la pozitia @start si cauta ocurenta cu numarul @position.
Un exemplu pt edificare:
SELECT dbo.SqlServer_INSTR (‘Ana are mare’,’a’,4,2) intoarce pozitia 6, pentru ca functia cauta, incepand de la pozitia 4, a doua ocurenta a literei a.
[mai mult...]Dimensiune tabele intr-o baza
Pentru situatiile in care avem nevoie sa stim ce anume ocupa spatiul din baza de date , am creat o procedura ce returneaza dimensiunile tuturor tabelelor de pe baza de date pe care este rulata, atat in numar de linii cat si in spatiu utilizat pe disk, ordonarea facandu-se in mod descrescator dupa numarul de linii.
[mai mult...]Determinare data de inceput a unui trimestru din trecut
Memoria folosita de o baza pe un server sql
Top 10 scripturi cu cea mai mare durata de executie pe serverul sql
Pentru cazurile in care avem nevoie sa identificam scripturile sau procedurile a caror rulare dureaza mult, am facut o procedura ce intoarce top 10 scripturi sau proceduri in functie de durata medie a rularii lor.
Procedura returneaza urmatoarele coloane:
server_name – numele serverului pe care este rulata procedura
DatabaseName – numele bazei de care apartine obiectul aflat in top 10
object_name – numele obiectului (procedura sau script. Daca nu este o procedura aici va fi afisat “script”)
AverageDurationSeconds – durata medie a rularii
ObjectText – in aceasta coloana apare bucata de procedura sau de script care afecteaza cel mai mult durata rularii (este folositoare pentru optimizari)
[mai mult...]Gasire scripturi rulate des pe serverul de sql
Pentru cazurile in care avem nevoie sa stim care sunt procedurile rulate (folosite) cel mai des pe un server de sql am creat o procedura stocata ce aduce top 10 cele mai foslosite proceduri de pe serverul de sql , de la ultimul restart de server, si, pentru aceste proceduri din top 10 aduce urmatoarele coloane:
ServerName – numele serverului
DatabaseName – numele bazei de date pe care se ruleaza respectivul script din top 10
ObjectName – numele procedurii
ExecutionCount – de cate ori a fost rulata (indiferent daca a fost rulata cu succes sau a dat vreo eroare)
[mai mult...]Data ultimei schimbari a parolei pentru login in sql server
Pentru situatiile in care este necesar sa aflam cand un anumit login de sql server si-a schimbat parola ultima data, am facut o mica procedura ce foloseste functia Loginproperty. Aceasta procedura primeste ca parametru numele de login pentru care vrem sa aflam ultima data cand a fost schimbata parola si returneaza data respectiva.
In cazul in care login-ul respectiv nu exista , procedura va returna null.
[mai mult...]