sp_password (Transact-SQL)

適用於:SQL Server

新增或變更 Microsoft SQL Server 登入的密碼。

重要

SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 ALTER LOGIN

Transact-SQL 語法慣例

語法

  
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 密碼。 請使用增強式密碼。 如需詳細資訊,請參閱 Strong Passwords

[ @loginame = ] 'login' 這是受密碼變更影響之登入的名稱。 login 是預設值為 NULL 的 sysnamelogin 必須已經存在,且只能由系統管理員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  

另請參閱

安全性預存程序 (Transact-SQL)
ALTER LOGIN (Transact-SQL)
CREATE LOGIN (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_grantlogin (Transact-SQL)
sp_revokelogin (Transact-SQL)
系統預存程序 (Transact-SQL)