Top CPU Usage

Pentru ca m-am lovit des de probleme de incarcare ale serverului de sql, am facut o procedura ce returneaza query-urile ce utilizeaza cel mai mult procesorul. Poate fi folosita in procesul de optimizare a serverului de sql.

[mai mult...]

Raport coloane cu tip si valori default

Pentru cazurile in care avem nevoie de un asemenea raport, am facut o procedura ce returneaza toate tabelele si view-urile de pe baza pe care este rulata si, pentru aceste obiecte, arata fiecare coloana, tipul culoanei, daca accepta sau nu valoarea null si daca are sau nu definit un default value pentru acea coloana.

[mai mult...]

Execution per user

Pentru cazurile in care vrem sa stim ce anume executa un user pe server, am creat o procedura care primeste ca parametru un login si, pentru acel login, arata ce se executa in acel moment pe serverul de sql sau ultima executie a acelui login, dintr-o sesiune activa de pe server.

[mai mult...]

Schimbare stare baza de date

Pentru ca am observat ca sunt multe persoane care nu stiu sa schimbe starea une baze de date decat din consola, prezint mai jos un script prin care o baza poate fi trecuta intr-una dintre starile  SINGLE_USER, RESTRICTED_USER, READ_ONLY  si apoi adusa in starea initiala.

[mai mult...]

Adaugare zile lucratoare

Pentru cazurile in care ne este necesar am facut o functie ce aduga un numar de zilela o data, dar zilele luate in calcul sunt doar zile lucratoare.
Functia primeste 2 parametri.
Unul este data de start iar celalat numarul de zile dorit a fi adaugat la acea data.
[mai mult...]

Estimated Recovery Time

Pentru situatiile in care o baza este in recovery mode si dureaza prea mult acest pas, am facut  o procedura ce verifica, pentru bazele aflate in recovery status, timpul estimat pana la aducerea bazei online.
Procedura primeste ca parametru numele bazei,
[mai mult...]

Backup la o singura tabela

 Pentru cazurile in care avem nevoie sa facem rapid o copie la o tabela , am creat o procedura care face backup la o singura tabela, primita ca parametru. (ex: pt a avea o copie in cazul in care nu suntem siguri de un update sau de alta operatiune ce are un grad de risc. )
Procedura are un singur parametru, numele tabelei la care vrem sa facem backup.
Procedura se creaza pe baza pe care dorim sa facem backupuri, si apoi, pt simplificare si operativitate, se intra un meniul TOOLS – OPTIONS in SSMS, si de acolo alegem Keyboard, si, la mapping scheme, alegem optiunea Visual studio 2010 compatible, iar la Querry Shortcuts , la Ctrl+3 punem numele procedurii, BD_BackupTable.
Iar pentru cazurile cand dorim sa facem backup la o tabela , da-m puri si simplu dublu click pe ea, apoi CTR+3 si se face automat backup la tabela, numele backupului finnd compus din numele tabelei, si data + ora si minute.
[mai mult...]

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.

[mai mult...]

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

[mai mult...]

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...]