sp_password (Transact-SQL)
加入或變更 Microsoft SQL Server 登入的密碼。
重要事項 |
---|
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。請改用 ALTER LOGIN。 |
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
語法
sp_password [ [ @old = ] 'old_password' , ]
{ [ @new =] 'new_password' }
[ , [ @loginame = ] 'login' ]
引數
[ @old= ] 'old_password'
這是舊密碼。 old_password 是 sysname,預設值是 NULL。[ @new= ] 'new_password'
這是新密碼。 new_password 是 sysname,沒有預設值。 如果未使用具名參數,就必須指定 old_password。安全性注意事項 請勿使用 NULL 密碼。請使用增強式密碼。如需詳細資訊,請參閱<增強式密碼>。
[ @loginame= ] 'login'
這是受到密碼變更影響的登入名稱。 login 是 sysname,預設值是 NULL。 login 必須已經存在,而且只能由 sysadmin 或 securityadmin 固定伺服器角色的成員來指定。
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_password 會呼叫 ALTER LOGIN。 這個陳述式支援其他選項。 如需有關變更密碼的資訊,請參閱<ALTER LOGIN (Transact-SQL)>。
sp_password 無法在使用者自訂交易內執行。
權限
需要 ALTER ANY LOGIN 權限。 若要在不提供舊密碼的情況下重設密碼,或是被變更的登入具有 CONTROL SERVER 權限,則也需要 CONTROL SERVER 權限。
主體可以變更本身的密碼。
範例
A.在不知道舊密碼的情況下變更登入密碼
下列範例會顯示如何使用 ALTER LOGIN 將登入 Victoria 的密碼變更為 B3r1000d#2-36。 這是慣用的方法。 執行這個命令的使用者必須具有 CONTROL SERVER 權限。
ALTER LOGIN Victoria WITH PASSWORD = 'B3r1000d#2-36';
GO
B.變更密碼
下列範例會顯示如何使用 ALTER LOGIN 將登入 Victoria 的密碼從 B3r1000d#2-36 變更為 V1cteAmanti55imE。 這是慣用的方法。 使用者 Victoria 不需要其他權限就可以執行這個命令。 其他使用者需要 ALTER ANY LOGIN 權限。
ALTER LOGIN Victoria WITH
PASSWORD = 'V1cteAmanti55imE'
OLD_PASSWORD = 'B3r1000d#2-36';
GO