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

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

Memoria folosita de o baza pe un server sql

Pentru cazurile in care avem nevoie sa stim care sunt bazele de date, de pe un server sql, care solicita cel mai mult serverul din punctul de vedere al memoriei, am facut  o procedura ce returneaza memoria utilizata de bazele de date de pe serverul de sql pe care este rulata.
Procedura are un parametru.
Daca procedura primeste un nume de baza de date de pe server, va returna memoria utilizata doar de catre acea baza.
Daca procedura nu primeste niciun nume de baza, va returna memoria utilizata de fiecare baza de pe server la momentul rularii aceste proceduri.
[mai mult...]

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