Cómo restablecer la contraseña de SA en Microsoft SQL Server
En este artículo, veremos cómo restablecer la contraseña de SA (administrador del sistema) en Microsoft SQL Server 2019/2017/2014/2012. Esta guía lo ayudará a restaurar el acceso a la base de datos MSSQL si no puede autenticarse usando el
sacuenta (la
sala contraseña se olvidó/se perdió/la cuenta se deshabilitó) o como usuario de Windows (si no hay usuarios con permisos de administrador del sistema de MS SQL).
El sa local es una cuenta administrativa muy conocida en SQL Server. En la mayoría de los casos, está deshabilitado, pero puede habilitarlo, configurar/restablecer su contraseña y restaurar el acceso a su servidor SQL.
Para restaurar el acceso a la base de datos sin reinstalar completamente la instancia de MS SQL (y con la pérdida de la base de datos maestra), debe iniciar SQL Server en un modo de usuario único. En este modo, puede iniciar sesión en SQL Server con cualquier cuenta con permisos de administrador local en la computadora en la que está instalado MS SQL Server. Luego puede restablecer la contraseña de la cuenta sa y/o otorgar permisos administrativos a cuentas específicas de Windows.
Consejo. A partir de SQL Server 2008, la función de administrador del sistema en un servidor SQL no se asigna de forma predeterminada al grupo local de administradores de Windows.
Para ejecutar MS SQL Server en modo de usuario único, inicie sesión en el host de MSSQL con cualquier cuenta con permiso de administrador local en Windows.
Detenga la instancia de SQL Server (en nuestro ejemplo, el nombre de la instancia de MSSQL es MSSQLSERVER) desde el símbolo del sistema
net stop MSSQLSERVERo usando PowerShell:
Get-Service MSSQLSERVER| Stop-ServiceAbra el editor de registro (
regedit.exe) y vaya a la clave de registro del servicio SQL: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER;
Cambie el valor del parámetro ImagePath agregando la opción -m como argumento a sqlservr.exe. Por ejemplo, establezca la siguiente cadena de inicio:
"C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER -mInicie el servidor SQL:
net start MSSQLSERVER-
Su SQL Server ahora se ejecuta en modo de usuario único y permite que cualquier miembro del grupo de administradores locales (o el administrador de Windows incorporado) se conecte a la instancia de SQL Server con privilegios de administrador del sistema;
Abra SQL Server Management Studio (SSMS) y conéctese al motor de base de datos de SQL Server con una cuenta que sea miembro del grupo de administradores locales;
Vaya a Seguridad -> Inicios de sesión y busque el usuario sa. El usuario sa está deshabilitado por defecto;
Abra sus propiedades, vaya a la pestaña General y establezca una nueva contraseña de SA. Luego habilite esta cuenta en la pestaña Estado (Iniciar sesión -> Habilitado);
Para poder conectarse a MSSQL con cuentas SQL locales (incluido sa), debe habilitar el SQL Server y el modo de autenticación de Windows en las propiedades del servidor en la pestaña Seguridad. De lo contrario, al conectarse con la cuenta sa local, aparecerá un error:
Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)También en la sección Inicios de sesión, puede agregar los usuarios de Windows requeridos (locales o de dominio) y asignarles un tole Sysadmin (en la pestaña Funciones de servidor). O bien, puede agregar un rol al usuario desde sqlcmd cli:
EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';) GOQueda por detener el servicio MSSQL nuevamente, devolver el valor inicial del parámetro de registro ImagePart eliminando el interruptor "-m" (
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER);
Inicie el servicio de SQL Server normalmente;
Ahora puede conectarse al servidor SQL con la cuenta sa en el modo de autenticación de SQL Server o con la cuenta de usuario de Windows a la que le ha otorgado privilegios de administrador del sistema en SQL Server.
Consejo. Puede iniciar SQL Server en modo de usuario único mediante el Administrador de configuración de SQL Server. Para hacer esto, vaya a la pestaña Parámetros de inicio en las propiedades de la instancia SQL requerida y agregue la opción de inicio -m.
Además, puede usar la herramienta de línea de comandos sqlcmd para restablecer la contraseña de SA y otorgar acceso a SQL Server:
Inicie SQL Server en modo de usuario único como se describe anteriormente;
Abra el símbolo del sistema y conéctese a su instancia de SQL Server:
sqlcmd -S localhostPara cambiar la contraseña de usuario de SA y habilitarla, ejecute los siguientes comandos T-SQL:
ALTER LOGIN sa enable GO ALTER LOGIN sa WITH PASSWORD = 'new_sa_pass331' GOPara otorgar permisos de administrador de sistemas en MSSQL para una cuenta de Windows (usuario local en este ejemplo), use los comandos:
CREATE LOGIN [mun-sql01\jsmith] FROM WINDOWS GO ALTER SERVER ROLE sysadmin ADD MEMBER [mun-sql01\jsmith] GO
En este artículo, hemos mostrado cómo restaurar el acceso a SQL Server en modo de usuario único. En este modo, puede restablecer la contraseña de sa (y de otros usuarios de SQL) o otorgar permisos de administrador de SQL a las cuentas de usuario de Windows. El modo de usuario único también se puede utilizar para restaurar la base de datos temdb en MSSQL Server.







