次の方法で共有


sp_password (Transact-SQL)

適用対象: SQL Server

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

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに ALTER LOGIN を使用してください。

Transact-SQL 構文表記規則

構文

sp_password
    [ [ @old = ] N'old' ]
    , [ @new = ] N'new'
    [ , [ @loginame = ] N'loginame' ]
[ ; ]

引数

[ @old = ] N'old'

古いパスワード。 @oldsysname で、既定値は NULL です。

[ @new = ] N'new'

新しいパスワードです。 @newsysname で、既定値はありません。 名前付きパラメーターを使用しない場合は、@old を指定する必要があります。

重要

NULLパスワードは使用しないでください。 強力なパスワードを使用してください。 詳細については、「 Strong Passwords」を参照してください。

[ @loginame = ] N'loginame'

パスワードの変更の影響を受けるログインの名前。 @loginamesysname で、既定値は NULL です。 @loginame は既に存在している必要があり、 sysadmin または securityadmin 固定サーバー ロールのメンバーによってのみ指定できます。

リターン コードの値

0 (成功) または 1 (失敗)。

解説

sp_passwordALTER 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