Este artículo demuestra cómo usar T-SQL para cambiar la contraseña de un inicio de sesión de SQL Server.
Puede cambiar la contraseña para otro inicio de sesión (suponiendo que tenga los permisos adecuados), o puede cambiarla para su propio inicio de sesión. Este artículo describe ambos escenarios.
Ejemplo
Para cambiar la contraseña para un inicio de sesión de SQL Server, use ALTER LOGIN
declaración con el WITH PASSWORD
argumento.
He aquí un ejemplo.
ALTER LOGIN Bart
WITH PASSWORD = '$trongPwd123';
Puede ejecutar esa declaración para cambiar la contraseña de su propio inicio de sesión o de otro inicio de sesión, sin embargo, requiere que tenga ALTER ANY LOGIN
permiso.
Si no tiene ALTER ANY LOGIN
permiso, obtendrá este error:
Msg 15151, Level 16, State 1, Line 2 Cannot alter the login 'Bart', because it does not exist or you do not have permission.
Cambie su propia contraseña
Puede usar la declaración del ejemplo anterior para cambiar su propia contraseña de inicio de sesión (es decir, cuando inicia sesión como inicio de sesión). Como se mencionó, necesitará ALTER ANY LOGIN
permiso.
Sin embargo, aún puede cambiar su propia contraseña incluso si no tener ALTER ANY LOGIN
permiso.
La forma de hacerlo es incluir su contraseña anterior y la nueva.
ALTER LOGIN Bart
WITH PASSWORD = 'StrongPwd!'
OLD_PASSWORD = '$trongPwd123';
De hecho, inicié sesión como Bart, ejecuté esa declaración y recibí la siguiente confirmación.
Commands completed successfully.
Bart en realidad no tiene ALTER ANY LOGIN
permiso, pero aún podía cambiar su propia contraseña al proporcionar su contraseña anterior.
Esto es lo que sucede si Bart intenta cambiar la contraseña sin proporcionar la contraseña anterior.
ALTER LOGIN Bart
WITH PASSWORD = 'WheelyStwongPwd!';
Resultado:
Msg 15151, Level 16, State 1, Line 1 Cannot alter the login 'Bart', because it does not exist or you do not have permission.
Pero como era de esperar, si inicio sesión como sa
y ejecutarlo de nuevo, puedo cambiarlo sin proporcionar la contraseña anterior.
ALTER LOGIN Bart
WITH PASSWORD = 'WheelyStwongPwd!';
Resultado:
Commands completed successfully.