sp_password (Transact-SQL)
適用於:SQL Server
新增或變更 SQL Server 登入的密碼。
重要
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 ALTER LOGIN 。
語法
sp_password
[ [ @old = ] N'old' ]
, [ @new = ] N'new'
[ , [ @loginame = ] N'loginame' ]
[ ; ]
引數
[ @old = ] N'old'
舊密碼。 @old為 sysname 預設值為 NULL
。
[ @new = ] N'new'
新密碼 @new為 sysname,沒有預設值。 如果未使用具名參數,則必須指定@old 。
重要
請勿使用 NULL
密碼。 請使用增強式密碼。 如需詳細資訊,請參閱 Strong Passwords。
[ @loginame = ] N'loginame'
受密碼變更影響的登入名稱。 @loginame為 sysname,預設值為 NULL
。 @loginame必須已經存在,而且只能由系統管理員或 securityadmin 固定伺服器角色的成員指定。
傳回碼值
0
(成功) 或 1
(失敗)。
備註
sp_password
會呼叫 ALTER LOGIN
。 此語句支援更多選項。 如需變更密碼的資訊,請參閱 ALTER LOGIN。
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