sp_password (Transact-SQL)

MicrosoftSQL Server ログイン用のパスワードを追加または変更します。

重要な注意事項重要

この機能は、将来のバージョンの Microsoft 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 にせず、また複雑なパスワードを使用してください。詳細については、「強力なパスワード」を参照してください。

  • [ @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