sp_password (Transact-SQL)
適用対象: SQL サーバー
Microsoft SQL Server ログインのパスワードを追加または変更します。
重要
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに ALTER LOGIN を使用してください。
構文
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 のデータ型は 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
参照
セキュリティ ストアド プロシージャ (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)