Come recuperare l'utenza SA in SQL Server in caso di password dimenticata
Come recuperare l'utenza SA in SQL Server in caso di password dimenticata
I passaggi per recuperare l'utenza SA
- 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>
- Adesso andremo a creare una nuova utenza NewSA tale da permetterci di accedere nuovamente all’istanza SQL Server con diritti di sysadmin per successive operazioni (sbloccare vecchia utenza sa, reset e cambio password vecchia utenza sa, etc etc).
Eseguire i seguenti comandi:
CREATE LOGIN NewSA WITH PASSWORD = 'Password1234';
Premere Invio
ALTER SERVER ROLE sysadmin ADD MEMBER NewSA
Premere Invio
GO
Premere Invio
Exit
Premere Invio
A questo punto abbiamo creato una nuova utenza NewSA con diritti di sysadmin dell’istanza.
- Andiamo a togliere il parametro -m o -f o -mSQLCMD che avevamo aggiunto tramite SQL Server Configuration Manager sulla sezione Startup Parameters. Riavviamo quindi l’istanza.
- Proviamo la connessione tramite SSMS con la nuova utenza creata:
E se tutto è andato a buon fine siamo ufficialmente dentro la nostra istanza con utenza di sysadmin!
di Matteo Dal Bianco, pubblicato il 20 luglio 2022