Situatie
In SQL Server intalnim uneori problema urmatoare:
- o persoana are nevoie de acces pe un anumit server de sql asa ca se creaza un Login pe acel server, si i se da drept pe o Baza de date
- dupa un timp acea persoana nu mai are nevoie de acces pe acel server asa ca se sterge acel login
- uneori insa, dupa o perioada mai indelungata, acea persoana are nevoie din nou de acces pe acel server, asa ca i se creaza din nou acel login
Simptome
Problema apare in momentul in care se doreste din nou crearea login-ului sters
mai exact in momentul in care ii dam drept pe aceeasi baza pe care a avut drept inainte, atunci cand dam Save o sa avem urmatoarea eroare
Cu toate acestea login-ul se salveaza, dar NU se salveaza maparea pe respectiva baza de date.
Daca se merge pe loginul tocmai creat, se da clik dreapta si se alege properties ai apoi se incearca maparea lui catre respectiva baza de date pt a i se da drepturi, primim din nou aceeasi eroare
Solutie
Pt a rezolva problema, se deschide in SSMS o fereastra de query si se foloseste procedura sp_change_users_login in felul urmator:
EXEC sp_change_users_login ‘Auto_Fix’, ‘TestLogin‘
unde, desigur, in loc de TestLogin se pune numele login-ului respectiv.
(se observa ca , dupa rulare, mesajul in partea de jos a ferestrei este: The number of orphaned users fixed by updating users was 1)
Putem sa verificam ca acum login-ul are drept pe baza respectiva, mergand din nou pe login, clik dreapta si alegem properties
Se observa ca acum loginul nostru, pt ca a fost mapat catre userul care deja exista pe acea baza, are drepturi acum pe baza respectiva.
Leave A Comment?