Che cosa fare nel caso in cui si è dimenticata la password dell’utenza SA e non si hanno altri utenti con diritti di sysadmin con cui accedere all’istanza?
Innanzitutto sangue freddo, nulla è del tutto perduto!
Sembrerà strano ma ci è capitato più spesso di quello che si possa pensare che un nostro cliente si sia trovato di fronte a questo tipo di problema. Tipicamente succede per vecchie istanze SQL Server poco o per nulla utilizzate, ma su cui un bel giorno si ha la necessità di intervenire per configurare alcuni aspetti dell’istanza.
I passaggi per recuperare l'utenza SA
Prima di arrivare alla drastica soluzione di reinstallare l’istanza SQL Server e fare l’attach dei singoli database (operazione piuttosto onerosa in termini di tempo), si possono provare questi semplici passaggi:
- Riavviare l’istanza SQL Server in “single user mode” e aggiungere il parametro -m o in alternativa il parametro -f tra i parametri di startup dell’istanza. Per fare ciò aprire SQL Server Configuration Manager, selezionare il servizio SQL Server interessato.
Tasto destro sul nome dell’istanza, Proprietà e selezionare il tab Startup Parameters.
Inserire il parametro desiderato e cliccare su Add per aggiungere il parametro. Successivamente cliccare su Apply. E’ necessario in ogni caso eseguire un riavvio dell’istanza SQL Server per poter rendere operativo lo stato di “single user mode”.
Tips: nel momento in cui si riavvia l’istanza SQL Server in “single user mode”, il primo client con i diritti sufficienti che si collega all’istanza conquista la connessione impedendo l’accesso ad altri client. Può succedere infatti che se noi tentiamo di collegarci all’istanza dopo averla messa in “single user mode” riceviamo un messaggio di questo tipo:
Per evitare tale inconveniente, il mio consiglio è di utilizzare il parametro
-mSQLCMD
In questo modo stiamo indicando a SQL Server di partire in “single user mode” riservando accesso solo a client di tipo sqlcmd (client che ci servirà tra poco per poter fare le operazioni successive)
- Una volta riavviata in modo corretto l’istanza SQL Server in “single user mode”, solo un utente che è amministratore locale della macchina o appartiene al gruppo degli amministratori locali ha la possibilità di collegarsi all’istanza SQL Server.
- Aprire quindi una shell dei comandi cmd con diritti di amministratore e provare a collegarsi all’istanza con il seguente comando:
Sqlcmd -Slocalhost
(sostituire a localhost eventuale nome dell’istanza da raggiungere.)
Se la connessione è andata a buon fine si arriva al prompt dei comandi sqlcmd
1>
Fonte notizia
www.datamaze.it blogs post come-recuperare-l-utenza-sa-in-sql-server