sp_password (Transact-SQL)
Adds or changes a password for a Microsoft SQL Server login.
Important
This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use ALTER LOGIN instead.
Syntax
sp_password [ [ @old= ] 'old_password', ]
{ [ @new=] 'new_password' }
[ , [ @loginame= ] 'login' ]
Arguments
[ @old= ] 'old_password'
Is the old password. old_password is sysname, with a default of NULL.[ @new= ] 'new_password'
Is the new password. new_password is sysname, with no default. old_password must be specified if named parameters are not used.Security Note Do not use a NULL password. Use a strong password. For more information, see Strong Passwords.
[ @loginame= ] 'login'
Is the name of the login affected by the password change. login is sysname, with a default of NULL. login must already exist and can be specified only by members of the sysadmin or securityadmin fixed server roles.
Return Code Values
0 (success) or 1 (failure)
Remarks
sp_password calls ALTER LOGIN. This statement supports additional options. For information on changing passwords, see ALTER LOGIN (Transact-SQL).
sp_password cannot be executed within a user-defined transaction.
Permissions
Requires ALTER ANY LOGIN permission. Also requires CONTROL SERVER permission to reset a password without supplying the old password, or if the login that is being changed has CONTROL SERVER permission.
A principal can change its own password.
Examples
A. Changing the password of a login without knowing the old password
The following example shows how to use ALTER LOGIN to change the password for the login Victoria to B3r1000d#2-36. This is the preferred method. The user that is executing this command must have CONTROL SERVER permission.
ALTER LOGIN Victoria WITH PASSWORD = 'B3r1000d#2-36';
GO
B. Changing a password
The following example shows how to use ALTER LOGIN to change the password for the login Victoria from B3r1000d#2-36 to V1cteAmanti55imE. This is the preferred method. User Victoria can execute this command without additional permissions. Other users require ALTER ANY LOGIN permission.
ALTER LOGIN Victoria WITH
PASSWORD = 'V1cteAmanti55imE'
OLD_PASSWORD = 'B3r1000d#2-36';
GO