SqlServer: Recuperar contraseña password de administrador en SQL Server 2016

Si por algún motivo, cuando trabajamos con muchas base de datos en distintos proyectos y no recordamos la contraseña del usuario administrador (sa) de algunos de los servidores SQL Server, es posible recuperarla de una forma muy simple.

Primero de todo, comentar que es válido para estas versiones SQL que he probado:

  • SQL Server 2008
  • SQL Server 2012
  • SQL Server 2014
  • SQL Server 2016

Segundo, muestro 3 formas de poder recuperar el password que me han funcionado en determinadas ocasiones:

  • Entrando como Windows Authentication
  • Consola de Comandos en modo Administrador
  • Microsoft SysInternals Tools al rescate

A) Entrando como Windows Authentication

La forma más rápida, es iniciar nuestro Windows Server como administrador y entrando a SQL Server Management Studio al «Database Engine» con «Windows Authentication», una vez dentro de SQL, ir a seguridad y resetear el password de nuestra cuenta «sa» o  «system administrator» que tengamos definido.

Nota: Si los usuarios administradores han cambiado por politicas de empresa, o hemos  perdido los password de cuentas con las que instalamos SQL Server, esta solución no funcionará y debemos probar con las siguientes.

B) Consola de Comandos en modo Administrador

Si esto no funciona, tenemos un planB que nos ayuda en estos casos. La solución pasa por ejecutar estos pasos directamente en la máquina Windows con SQL Server y permisos de Administrador.

Para ello, deberemos acceder al cmd como administrador y ejecutar lo siguiente:

c:\>net stop MSSQLSERVER 
c:\>net start MSSQLSERVER -m"SQLCMD"
c:\>sqlcmd
1>CREATE LOGIN newuser WITH PASSWORD='newpassword'
2>GO
1>SP_ADDSRVROLEMEMBER newuser, 'SYSADMIN'
2>GO
1>EXIT
c:\>net stop MSSQLSERVER
c:\>net start MSSQLSERVER

Aqui vemos capturada la pantalla con los pasos realizados y los mensajes obtenidos.

SQLServer2016-pasos-recuperar-login

Y listo, una vez ejecutados los pasos, si no aparecen errores, abrimos Management Studio y accederemos con el nuevo usuario creado para trabajar como administrador dentro de SQL Server y podremos reestablecer el password al usuario «sa».

C) Microsoft SysInternals Tools al rescate

Por último, si la solución anterior tampoco funciona, tenemos un PlanC, como explican estos pasos que encontre en un blog de MSDN en ingles:

  1. Run the SQL Server Management Studio as the system account. This can be done easily with the PsExec program. Download PsExec from Sysinternals website.
  2. Open an elevated Command Prompt and run:
    C:\PsExec.exe -s -i "C:\Program Files (x86)\Microsoft SQL Server\140\Tool\Binn\ManagementStudio\Ssms.exe"
  3. It will start SQL Server Management Studio as the system account. You’ll see that the username is shown as «NT AUTHORITY\SYSTEM». Simply choose the Windows Authentication mode and click on the Connect button.
  4. Once you connect, you can reset SA password.

If this also doesn’t work, the last resort is try some third-party software such as SQL Server Password Changer, or reinstall your SQL Server.

 

Bonus Extra SQL Management Studio

A pesar que esto no tiene que ver directamente con recuperar la contraseña, lo dejo por si encontrais alguna vez que desde SQL Studio no podeis acceder a las tablas porque vuestro usuario local no tiene permisos en el dominio para acceder a la base de datos.

Con este comando, podemos cambiar el usuario para entra a las tablas de SQL:

c:\> runas /netonly /user:DOMINIO\usuario “C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe” (despues pide password)

Espero que sea de utilidad!!

Deja un comentario