ALTER LOGIN (Transact-SQL)ALTER LOGIN (Transact-SQL)

SQL ServerSQL Server ログイン アカウントのプロパティを変更します。Changes the properties of a SQL ServerSQL Server login account.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

製品をクリックしてくださいClick a product!

次の行から興味がある製品名をクリックしてみてください。In the following row, click whichever product name you are interested in. この Web ページでは、クリックした製品に合わせて、異なるコンテンツが表示されます。The click displays different content here on this webpage, appropriate for whichever product you click.

* SQL Server *  * SQL Server *   SQL Database
単一データベース/エラスティック プール
SQL Database
single database/elastic pool
SQL Database
マネージド インスタンス
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

SQL ServerSQL Server

構文Syntax

-- Syntax for SQL Server

ALTER LOGIN login_name
    {
    <status_option>
    | WITH <set_option> [ ,... ]
    | <cryptographic_credential_option>
    }
[;]

<status_option> ::=
        ENABLE | DISABLE

<set_option> ::=
    PASSWORD = 'password' | hashed_password HASHED
    [
      OLD_PASSWORD = 'oldpassword'
      | <password_option> [<password_option> ]
    ]
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language
    | NAME = login_name
    | CHECK_POLICY = { ON | OFF }
    | CHECK_EXPIRATION = { ON | OFF }
    | CREDENTIAL = credential_name
    | NO CREDENTIAL

<password_option> ::=
    MUST_CHANGE | UNLOCK

<cryptographic_credentials_option> ::=
    ADD CREDENTIAL credential_name
  | DROP CREDENTIAL credential_name

引数Arguments

login_name: 変更する SQL ServerSQL Server ログインの名前を指定します。login_name Specifies the name of the SQL ServerSQL Server login that is being changed. ドメイン ログインは角かっこで囲み、[domain\user] の形式で表す必要があります。Domain logins must be enclosed in brackets in the format [domain\user].

ENABLE | DISABLE: このログインを有効にするか無効にするかを指定します。ENABLE | DISABLE Enables or disables this login. ログインを無効にしても、既に接続されているログインの動作には影響しません。Disabling a login does not affect the behavior of logins that are already connected. (KILL ステートメントを使用して、既存の接続を終了します。)無効にしたログインの権限を保持したまま、偽装を継続することができます。(Use the KILL statement to terminate an existing connections.) Disabled logins retain their permissions and can still be impersonated.

PASSWORD =' password ' : SQL ServerSQL Server ログインにのみ適用されます。PASSWORD ='password' Applies only to SQL ServerSQL Server logins. 変更するログインのパスワードを指定します。Specifies the password for the login that is being changed. パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive.

PASSWORD = hashed_password: HASHED キーワードにのみ適用されます。PASSWORD =hashed_password Applies to the HASHED keyword only. 作成するログインのパスワードのハッシュ値を指定します。Specifies the hashed value of the password for the login that is being created.

重要

ログイン (または包含データベース ユーザー) が接続して認証されると、接続にはログインに関する ID 情報がキャッシュされます。When a login (or a contained database user) connects and is authenticated, the connection caches identity information about the login. Windows 認証ログインの場合、これには Windows グループのメンバーシップに関する情報も含まれます。For a Windows Authentication login, this includes information about membership in Windows groups. 接続が維持されている限り、ログインの ID が認証された状態は継続します。The identity of the login remains authenticated as long as the connection is maintained. パスワードのリセットや Windows グループのメンバーシップの変更など、ID に関する変更を適用するには、認証機関 (Windows または SQL ServerSQL Server) からログオフしてもう一度ログインする必要があります。To force changes in the identity, such as a password reset or change in Windows group membership, the login must logoff from the authentication authority (Windows or SQL ServerSQL Server), and log in again. sysadmin 固定サーバー ロールのメンバーまたは ALTER ANY CONNECTION 権限を持つすべてのログインは、 KILL コマンドを使用して接続を終了し、ログインの再接続を強制することができます。A member of the sysadmin fixed server role or any login with the ALTER ANY CONNECTION permission can use the KILL command to end a connection and force a login to reconnect. SQL Server Management StudioSQL Server Management Studio でオブジェクト エクスプ ローラーおよびクエリ エディター ウィンドウに複数の接続を開くときに、接続情報を再利用できます。can reuse connection information when opening multiple connections to Object Explorer and Query Editor windows. 再接続を強制するには、すべての接続を閉じます。Close all connections to force reconnection.

HASHED: SQL ServerSQL Server ログインにのみ適用されます。HASHED Applies to SQL ServerSQL Server logins only. PASSWORD 引数の後に入力されたパスワードが、ハッシュ済みであることを示します。Specifies that the password entered after the PASSWORD argument is already hashed. このオプションを選択しなかった場合、パスワードはハッシュされてからデータベースに格納されます。If this option is not selected, the password is hashed before being stored in the database. このオプションは、2 つのサーバー間でログインを同期する場合にのみ使用してください。This option should only be used for login synchronization between two servers. パスワードを定期的に変更する場合は HASHED オプションを使用しないでください。Do not use the HASHED option to routinely change passwords.

OLD_PASSWORD =' oldpassword ' : SQL ServerSQL Server ログインにのみ適用されます。OLD_PASSWORD ='oldpassword' Applies only to SQL ServerSQL Server logins. 新しいパスワードを割り当てるログインの、現在のパスワードを指定します。The current password of the login to which a new password will be assigned. パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive.

MUST_CHANGE: SQL ServerSQL Server ログインにのみ適用されます。MUST_CHANGE Applies only to SQL ServerSQL Server logins. このオプションを指定した場合、SQL ServerSQL Server で変更後のログインを最初に使用するときには新しいパスワードの入力が求められます。If this option is included, SQL ServerSQL Server will prompt for an updated password the first time the altered login is used.

DEFAULT_DATABASE = database: ログインに割り当てられる既定のデータベースを指定します。DEFAULT_DATABASE =database Specifies a default database to be assigned to the login.

DEFAULT_LANGUAGE = language: ログインに割り当てられる既定の言語を指定します。DEFAULT_LANGUAGE =language Specifies a default language to be assigned to the login. すべての SQL Database ログインの既定の言語は英語で、変更できません。The default language for all SQL Database logins is English and cannot be changed. Linux では、SQL ServerSQL Serversa ログインの既定の言語は英語ですが、変更することができます。The default language of the sa login on SQL ServerSQL Server on Linux, is English but it can be changed.

NAME = login_name: ログインの名前を変更する場合、新しい名前を指定します。NAME = login_name The new name of the login that is being renamed. Windows ログインの場合は、新しい名前に対応する Windows プリンシパルの SID と、SQL ServerSQL Server 内のログインに関連付けられている SID が一致する必要があります。If this is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL ServerSQL Server. SQL ServerSQL Server ログインの新しい名前には、円記号 (\) は使用できません。The new name of a SQL ServerSQL Server login cannot contain a backslash character (\).

CHECK_EXPIRATION = { ON | OFF } SQL ServerSQL Server ログインにのみ適用されます。CHECK_EXPIRATION = { ON | OFF } Applies only to SQL ServerSQL Server logins. このログインに、パスワードの有効期限ポリシーを適用するかどうかを指定します。Specifies whether password expiration policy should be enforced on this login. 既定値は OFF です。The default value is OFF.

CHECK_POLICY = { ON | OFF }: SQL ServerSQL Server ログインにのみ適用されます。CHECK_POLICY = { ON | OFF } Applies only to SQL ServerSQL Server logins. このログインに、SQL ServerSQL Server を実行しているコンピューターの、Windows のパスワード ポリシーを適用するかどうかを指定します。Specifies that the Windows password policies of the computer on which SQL ServerSQL Server is running should be enforced on this login. 既定値は ON です。The default value is ON.

CREDENTIAL = credential_name: SQL ServerSQL Server ログインにマップする資格情報の名前を指定します。CREDENTIAL = credential_name The name of a credential to be mapped to a SQL ServerSQL Server login. この資格情報は、サーバー内に既に存在している必要があります。The credential must already exist in the server. 詳細については、資格情報に関するページをご覧ください。For more information, see Credentials. 資格情報を sa ログインにマップすることはできません。A credential cannot be mapped to the sa login.

NO CREDENTIAL: ログインからサーバー資格情報への既存のマッピングをすべて削除します。NO CREDENTIAL Removes any existing mapping of the login to a server credential. 詳細については、資格情報に関するページをご覧ください。For more information, see Credentials.

UNLOCK: SQL ServerSQL Server ログインにのみ適用されます。UNLOCK Applies only to SQL ServerSQL Server logins. ロックされているログインのロックを解除する必要があることを指定します。Specifies that a login that is locked out should be unlocked.

ADD CREDENTIAL: 拡張キー管理 (EKM) プロバイダー資格情報をログインに追加します。ADD CREDENTIAL Adds an Extensible Key Management (EKM) provider credential to the login. 詳しくは、「拡張キー管理 (EKM)」をご覧ください。For more information, see Extensible Key Management (EKM).

DROP CREDENTIAL: ログインから拡張キー管理 (EKM) プロバイダー資格情報を削除します。DROP CREDENTIAL Removes an Extensible Key Management (EKM) provider credential from the login. 詳しくは、[拡張キー管理 (EKM)] (../..For more information, see [Extensible Key Management (EKM)] (../.. /relational-databases/security/encryption/extensible-key-management-ekm.md) を参照してください。/relational-databases/security/encryption/extensible-key-management-ekm.md).

RemarksRemarks

CHECK_POLICY が ON に設定されている場合、HASHED 引数は使用できません。When CHECK_POLICY is set to ON, the HASHED argument cannot be used.

CHECK_POLICY を ON に変更した場合、次の動作が発生します。When CHECK_POLICY is changed to ON, the following behavior occurs:

  • パスワードの履歴が、現在のパスワード ハッシュの値に初期化されます。The password history is initialized with the value of the current password hash.

    CHECK_POLICY を OFF に変更した場合、次の動作が発生します。When CHECK_POLICY is changed to OFF, the following behavior occurs:

  • CHECK_EXPIRATION も OFF に設定されます。CHECK_EXPIRATION is also set to OFF.

  • パスワード履歴は消去されます。The password history is cleared.

  • lockout_time がリセットされます。The value of lockout_time is reset.

MUST_CHANGE が指定された場合、CHECK_EXPIRATION および CHECK_POLICY は ON に設定されなければなりません。If MUST_CHANGE is specified, CHECK_EXPIRATION and CHECK_POLICY must be set to ON. ON に設定しない場合、ステートメントは失敗します。Otherwise, the statement will fail.

CHECK_POLICY を OFF に設定した場合、CHECK_EXPIRATION を ON に設定することはできません。If CHECK_POLICY is set to OFF, CHECK_EXPIRATION cannot be set to ON. このオプションの組み合わせで ALTER LOGIN ステートメントを実行すると、ステートメントは失敗します。An ALTER LOGIN statement that has this combination of options will fail.

ALTER_LOGIN を DISABLE 引数と共に使用して Windows グループへのアクセスを拒否することはできません。You cannot use ALTER_LOGIN with the DISABLE argument to deny access to a Windows group. たとえば、ALTER_LOGIN [domain\group] DISABLE を実行すると次のエラー メッセージが返されます。For example, ALTER_LOGIN [domain\group] DISABLE will return the following error message:

`"Msg 15151, Level 16, State 1, Line 1
"Cannot alter the login '*Domain\Group*', because it does not exist or you do not have permission."`

This is by design.

SQL DatabaseSQL Database では、接続の認証に必要なログイン データおよびサーバー レベルのファイアウォール規則は、各データベースで一時的にキャッシュされます。In SQL DatabaseSQL Database, login data required to authenticate a connection and server-level firewall rules are temporarily cached in each database. このキャッシュは定期的に更新されます。This cache is periodically refreshed. 認証キャッシュを強制的に更新し、データベースに最新バージョンのログイン テーブルがあることを確認するには、DBCC FLUSHAUTHCACHE を実行します。To force a refresh of the authentication cache and make sure that a database has the latest version of the logins table, execute DBCC FLUSHAUTHCACHE.

アクセス許可Permissions

ALTER ANY LOGIN 権限が必要です。Requires ALTER ANY LOGIN permission.

CREDENTIAL オプションを使用する場合は、ALTER ANY CREDENTIAL 権限も必要です。If the CREDENTIAL option is used, also requires ALTER ANY CREDENTIAL permission.

変更するログインが固定サーバー ロール sysadmin のメンバーであるか、ログインに CONTROL SERVER 権限が与えられている場合、次の変更を行うには CONTROL SERVER 権限も必要になります。If the login that is being changed is a member of the sysadmin fixed server role or a grantee of CONTROL SERVER permission, also requires CONTROL SERVER permission when making the following changes:

  • 以前のパスワードを指定せずにパスワードをリセットする。Resetting the password without supplying the old password.
  • MUST_CHANGE、CHECK_POLICY、または CHECK_EXPIRATION を有効にする。Enabling MUST_CHANGE, CHECK_POLICY, or CHECK_EXPIRATION.
  • ログイン名を変更する。Changing the login name.
  • ログインを有効または無効にする。Enabling or disabling the login.
  • ログインを別の資格情報にマップする。Mapping the login to a different credential.

プリンシパルでは、その独自のログインのパスワード、既定の言語、および既定のデータベースを変更できます。A principal can change the password, default language, and default database for its own login.

使用例Examples

A.A. 無効なログインを有効にするEnabling a disabled login

次の例では、ログイン Mary5 を有効にします。The following example enables the login Mary5.

ALTER LOGIN Mary5 ENABLE;

B.B. ログインのパスワードを変更するChanging the password of a login

次の例では、ログイン Mary5 のパスワードを強力なパスワードに変更します。The following example changes the password of login Mary5 to a strong password.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C.C. ログインとしてログインしたときにログインのパスワードを変更するChanging the password of a login when logged in as the login

現在使用しているログインのパスワードを変更しようとして、ALTER ANY LOGIN アクセス許可がない場合は、OLD_PASSWORD オプションを指定する必要があります。If you are attempting to change the password of the login that you're currently logged in with and you do not have the ALTER ANY LOGIN permission you must specify the OLD_PASSWORD option.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' OLD_PASSWORD = '<oldWeakPasswordHere>';

D.D. ログインの名前を変更するChanging the name of a login

次の例では、ログイン Mary5 の名前を John2 に変更します。The following example changes the name of login Mary5 to John2.

ALTER LOGIN Mary5 WITH NAME = John2;

E.E. ログインを資格情報にマップするMapping a login to a credential

次の例では、ログイン John2 を資格情報 Custodian04 にマップします。The following example maps the login John2 to the credential Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

F.F. ログインを拡張キー管理資格情報にマップするMapping a login to an Extensible Key Management credential

次の例では、ログイン Mary5 を EKM 資格情報 EKMProvider1 にマップします。The following example maps the login Mary5 to the EKM credential EKMProvider1.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.F. ログインのロックを解除するUnlocking a login

SQL ServerSQL Server ログインのロックを解除するには、**** を必要なアカウントのパスワードに置き換えて、次のステートメントを実行します。To unlock a SQL ServerSQL Server login, execute the following statement, replacing **** with the desired account password.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;

GO

パスワードを変更しないでログインのロックを解除するには、チェック ポリシーをオフにしてからもう一度オンにします。To unlock a login without changing the password, turn the check policy off and then on again.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G.G. HASHED を使用してログインのパスワードを変更するChanging the password of a login using HASHED

次の例では、TestUser ログインのパスワードを既にハッシュされた値に変更します。The following example changes the password of the TestUser login to an already hashed value.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

参照See Also

SQL ServerSQL Server * SQL Database
単一データベース/エラスティック プール *
* SQL Database
single database/elastic pool *
SQL Database
マネージド インスタンス
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Azure SQL Database 単一データベース/エラスティック プールAzure SQL Database single database/elastic pool

SQL ServerSQL Server

構文Syntax

-- Syntax for Azure SQL Database and Azure SQL Data Warehouse

ALTER LOGIN login_name
  {
      <status_option>
    | WITH <set_option> [ ,.. .n ]
  }
[;]

<status_option> ::=
    ENABLE | DISABLE

<set_option> ::=
    PASSWORD ='password'
    [
      OLD_PASSWORD ='oldpassword'
    ]
    | NAME = login_name

引数Arguments

login_name: 変更する SQL ServerSQL Server ログインの名前を指定します。login_name Specifies the name of the SQL ServerSQL Server login that is being changed. ドメイン ログインは角かっこで囲み、[domain\user] の形式で表す必要があります。Domain logins must be enclosed in brackets in the format [domain\user].

ENABLE | DISABLE: このログインを有効にするか無効にするかを指定します。ENABLE | DISABLE Enables or disables this login. ログインを無効にしても、既に接続されているログインの動作には影響しません。Disabling a login does not affect the behavior of logins that are already connected. (KILL ステートメントを使用して、既存の接続を終了します。)無効にしたログインの権限を保持したまま、偽装を継続することができます。(Use the KILL statement to terminate an existing connections.) Disabled logins retain their permissions and can still be impersonated.

PASSWORD =' password ' : SQL ServerSQL Server ログインにのみ適用されます。PASSWORD ='password' Applies only to SQL ServerSQL Server logins. 変更するログインのパスワードを指定します。Specifies the password for the login that is being changed. パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive.

SQL Database への接続を継続的にアクティブにするには、少なくとも 10 時間ごとに (データベース エンジンによって実行される) 再認証が必要です。Continuously active connections to SQL Database require reauthorization (performed by the Database Engine) at least every 10 hours. データベース エンジンは、最初に送信されたパスワードを使用して再認証を試行するので、ユーザー入力は不要です。The Database Engine attempts reauthorization using the originally submitted password and no user input is required. パスワードが SQL Database でリセットされた場合、接続プーリングのために接続がリセットされても、パフォーマンス上の理由から接続は再認証されません。For performance reasons, when a password is reset in SQL Database, the connection will not be re-authenticated, even if the connection is reset due to connection pooling. これは、オンプレミスの SQL Server の動作とは異なります。This is different from the behavior of on-premises SQL Server. 接続が最初に承認された後でパスワードが変更されている場合は、接続を終了し、新しいパスワードを使用して新しい接続を行う必要があります。If the password has been changed since the connection was initially authorized, the connection must be terminated and a new connection made using the new password. KILL DATABASE CONNECTION 権限を持つユーザーは、KILL コマンドを使用して SQL Database への接続を明示的に終了できます。A user with the KILL DATABASE CONNECTION permission can explicitly terminate a connection to SQL Database by using the KILL command. 詳細については、KILL に関するページをご覧ください。For more information, see KILL.

重要

ログイン (または包含データベース ユーザー) が接続して認証されると、接続にはログインに関する ID 情報がキャッシュされます。When a login (or a contained database user) connects and is authenticated, the connection caches identity information about the login. Windows 認証ログインの場合、これには Windows グループのメンバーシップに関する情報も含まれます。For a Windows Authentication login, this includes information about membership in Windows groups. 接続が維持されている限り、ログインの ID が認証された状態は継続します。The identity of the login remains authenticated as long as the connection is maintained. パスワードのリセットや Windows グループのメンバーシップの変更など、ID に関する変更を適用するには、認証機関 (Windows または SQL ServerSQL Server) からログオフしてもう一度ログインする必要があります。To force changes in the identity, such as a password reset or change in Windows group membership, the login must logoff from the authentication authority (Windows or SQL ServerSQL Server), and log in again. sysadmin 固定サーバー ロールのメンバーまたは ALTER ANY CONNECTION 権限を持つすべてのログインは、 KILL コマンドを使用して接続を終了し、ログインの再接続を強制することができます。A member of the sysadmin fixed server role or any login with the ALTER ANY CONNECTION permission can use the KILL command to end a connection and force a login to reconnect. SQL Server Management StudioSQL Server Management Studio でオブジェクト エクスプ ローラーおよびクエリ エディター ウィンドウに複数の接続を開くときに、接続情報を再利用できます。can reuse connection information when opening multiple connections to Object Explorer and Query Editor windows. 再接続を強制するには、すべての接続を閉じます。Close all connections to force reconnection.

OLD_PASSWORD =' oldpassword ' : SQL ServerSQL Server ログインにのみ適用されます。OLD_PASSWORD ='oldpassword' Applies only to SQL ServerSQL Server logins. 新しいパスワードを割り当てるログインの、現在のパスワードを指定します。The current password of the login to which a new password will be assigned. パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive.

NAME = login_name: ログインの名前を変更する場合、新しい名前を指定します。NAME = login_name The new name of the login that is being renamed. Windows ログインの場合は、新しい名前に対応する Windows プリンシパルの SID と、SQL ServerSQL Server 内のログインに関連付けられている SID が一致する必要があります。If this is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL ServerSQL Server. SQL ServerSQL Server ログインの新しい名前には、円記号 (\) は使用できません。The new name of a SQL ServerSQL Server login cannot contain a backslash character (\).

RemarksRemarks

SQL DatabaseSQL Database では、接続の認証に必要なログイン データおよびサーバー レベルのファイアウォール規則は、各データベースで一時的にキャッシュされます。In SQL DatabaseSQL Database, login data required to authenticate a connection and server-level firewall rules are temporarily cached in each database. このキャッシュは定期的に更新されます。This cache is periodically refreshed. 認証キャッシュを強制的に更新し、データベースに最新バージョンのログイン テーブルがあることを確認するには、DBCC FLUSHAUTHCACHE を実行します。To force a refresh of the authentication cache and make sure that a database has the latest version of the logins table, execute DBCC FLUSHAUTHCACHE.

アクセス許可Permissions

ALTER ANY LOGIN 権限が必要です。Requires ALTER ANY LOGIN permission.

変更するログインが固定サーバー ロール sysadmin のメンバーであるか、ログインに CONTROL SERVER 権限が与えられている場合、次の変更を行うには CONTROL SERVER 権限も必要になります。If the login that is being changed is a member of the sysadmin fixed server role or a grantee of CONTROL SERVER permission, also requires CONTROL SERVER permission when making the following changes:

  • 以前のパスワードを指定せずにパスワードをリセットする。Resetting the password without supplying the old password.
  • ログイン名を変更する。Changing the login name.
  • ログインを有効または無効にする。Enabling or disabling the login.
  • ログインを別の資格情報にマップする。Mapping the login to a different credential.

プリンシパルは、独自のログインのパスワードを変更できます。A principal can change the password for its own login.

使用例Examples

これらの例には、他の SQL 製品の使用例も含まれます。These examples also include examples for using other SQL products. 上記でどの引数がサポートされているかを確認してください。Please see which arguments are supported above.

A.A. 無効なログインを有効にするEnabling a disabled login

次の例では、ログイン Mary5 を有効にします。The following example enables the login Mary5.

ALTER LOGIN Mary5 ENABLE;

B.B. ログインのパスワードを変更するChanging the password of a login

次の例では、ログイン Mary5 のパスワードを強力なパスワードに変更します。The following example changes the password of login Mary5 to a strong password.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C.C. ログインの名前を変更するChanging the name of a login

次の例では、ログイン Mary5 の名前を John2 に変更します。The following example changes the name of login Mary5 to John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D.D. ログインを資格情報にマップするMapping a login to a credential

次の例では、ログイン John2 を資格情報 Custodian04 にマップします。The following example maps the login John2 to the credential Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E.E. ログインを拡張キー管理資格情報にマップするMapping a login to an Extensible Key Management credential

次の例では、ログイン Mary5 を EKM 資格情報 EKMProvider1 にマップします。The following example maps the login Mary5 to the EKM credential EKMProvider1.

適用対象: SQL Server 2008SQL Server 2008 から SQL ServerSQL ServerApplies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.F. ログインのロックを解除するUnlocking a login

SQL ServerSQL Server ログインのロックを解除するには、**** を必要なアカウントのパスワードに置き換えて、次のステートメントを実行します。To unlock a SQL ServerSQL Server login, execute the following statement, replacing **** with the desired account password.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;

GO

パスワードを変更しないでログインのロックを解除するには、チェック ポリシーをオフにしてからもう一度オンにします。To unlock a login without changing the password, turn the check policy off and then on again.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G.G. HASHED を使用してログインのパスワードを変更するChanging the password of a login using HASHED

次の例では、TestUser ログインのパスワードを既にハッシュされた値に変更します。The following example changes the password of the TestUser login to an already hashed value.

適用対象: SQL Server 2008SQL Server 2008 から SQL ServerSQL ServerApplies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

参照See Also

SQL ServerSQL Server SQL Database
単一データベース/エラスティック プール
SQL Database
single database/elastic pool
* SQL Database
マネージド インスタンス *
* SQL Database
managed instance *
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Azure SQL Database マネージド インスタンスAzure SQL Database managed instance

構文Syntax

-- Syntax for SQL Server and Azure SQL Database managed instance

ALTER LOGIN login_name
    {
    <status_option>
    | WITH <set_option> [ ,... ]
    | <cryptographic_credential_option>
    }
[;]

<status_option> ::=
        ENABLE | DISABLE

<set_option> ::=
    PASSWORD = 'password' | hashed_password HASHED
    [
      OLD_PASSWORD = 'oldpassword'
      | <password_option> [<password_option> ]
    ]
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language
    | NAME = login_name
    | CHECK_POLICY = { ON | OFF }
    | CHECK_EXPIRATION = { ON | OFF }
    | CREDENTIAL = credential_name
    | NO CREDENTIAL

<password_option> ::=
    MUST_CHANGE | UNLOCK

<cryptographic_credentials_option> ::=
    ADD CREDENTIAL credential_name
  | DROP CREDENTIAL credential_name

注意

作成後にマネージド インスタンス機能の Azure AD 管理者が変更されました。The Azure AD admin for managed instance functionality after creation has changed. 詳しくは、「マネージド インスタンス用の新しい Azure AD 管理機能」をご覧ください。For more information, see New Azure AD admin functionality for MI.

-- Syntax for Azure SQL Database managed instance using Azure AD logins

ALTER LOGIN login_name
  {
      <status_option>
    | WITH <set_option> [ ,.. .n ]
  }
[;]

<status_option> ::=
    ENABLE | DISABLE

<set_option> ::=
     DEFAULT_DATABASE = database
   | DEFAULT_LANGUAGE = language

引数Arguments

SQL と Azure AD のログインに適用可能な引数Arguments applicable to SQL and Azure AD logins

login_name: 変更する SQL ServerSQL Server ログインの名前を指定します。login_name Specifies the name of the SQL ServerSQL Server login that is being changed. Azure AD ログインは user@domain として指定する必要があります。Azure AD logins must be specified as user@domain. たとえば、john.smith@contoso.com、または Azure AD グループまたはアプリケーション名として指定します。For example, john.smith@contoso.com, or as the Azure AD group or application name. Azure AD ログインの場合、login_name は master データベースで作成された既存の Azure AD ログインに対応している必要があります。For Azure AD logins, the login_name must correspond to an existing Azure AD login created in the master database.

ENABLE | DISABLE: このログインを有効にするか無効にするかを指定します。ENABLE | DISABLE Enables or disables this login. ログインを無効にしても、既に接続されているログインの動作には影響しません。Disabling a login does not affect the behavior of logins that are already connected. (KILL ステートメントを使用して、既存の接続を終了します。)無効にしたログインの権限を保持したまま、偽装を継続することができます。(Use the KILL statement to terminate an existing connection.) Disabled logins retain their permissions and can still be impersonated.

DEFAULT_DATABASE = database: ログインに割り当てられる既定のデータベースを指定します。DEFAULT_DATABASE =database Specifies a default database to be assigned to the login.

DEFAULT_LANGUAGE = language: ログインに割り当てられる既定の言語を指定します。DEFAULT_LANGUAGE =language Specifies a default language to be assigned to the login. すべての SQL Database ログインの既定の言語は英語で、変更できません。The default language for all SQL Database logins is English and cannot be changed. Linux では、SQL ServerSQL Serversa ログインの既定の言語は英語ですが、変更することができます。The default language of the sa login on SQL ServerSQL Server on Linux, is English but it can be changed.

SQL ログインのみに適用可能な引数Arguments applicable only to SQL logins

PASSWORD =' password ' : SQL ServerSQL Server ログインにのみ適用されます。PASSWORD ='password' Applies only to SQL ServerSQL Server logins. 変更するログインのパスワードを指定します。Specifies the password for the login that is being changed. パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive. パスワードは、Azure AD ログインなどの外部ログインで使用されている場合にも適用されません。Passwords also do not apply when used with external logins, like Azure AD logins.

SQL Database への接続を継続的にアクティブにするには、少なくとも 10 時間ごとに (データベース エンジンによって実行される) 再認証が必要です。Continuously active connections to SQL Database require reauthorization (performed by the Database Engine) at least every 10 hours. データベース エンジンは、最初に送信されたパスワードを使用して再認証を試行するので、ユーザー入力は不要です。The Database Engine attempts reauthorization using the originally submitted password and no user input is required. パスワードが SQL Database でリセットされた場合、接続プーリングのために接続がリセットされても、パフォーマンス上の理由から接続は再認証されません。For performance reasons, when a password is reset in SQL Database, the connection will not be re-authenticated, even if the connection is reset due to connection pooling. これは、オンプレミスの SQL Server の動作とは異なります。This is different from the behavior of on-premises SQL Server. 接続が最初に承認された後でパスワードが変更されている場合は、接続を終了し、新しいパスワードを使用して新しい接続を行う必要があります。If the password has been changed since the connection was initially authorized, the connection must be terminated and a new connection made using the new password. KILL DATABASE CONNECTION 権限を持つユーザーは、KILL コマンドを使用して SQL Database への接続を明示的に終了できます。A user with the KILL DATABASE CONNECTION permission can explicitly terminate a connection to SQL Database by using the KILL command. 詳細については、KILL に関するページをご覧ください。For more information, see KILL.

PASSWORD = hashed_password: HASHED キーワードにのみ適用されます。PASSWORD =hashed_password Applies to the HASHED keyword only. 作成するログインのパスワードのハッシュ値を指定します。Specifies the hashed value of the password for the login that is being created.

HASHED: SQL ServerSQL Server ログインにのみ適用されます。HASHED Applies to SQL ServerSQL Server logins only. PASSWORD 引数の後に入力されたパスワードが、ハッシュ済みであることを示します。Specifies that the password entered after the PASSWORD argument is already hashed. このオプションを選択しなかった場合、パスワードはハッシュされてからデータベースに格納されます。If this option is not selected, the password is hashed before being stored in the database. このオプションは、2 つのサーバー間でログインを同期する場合にのみ使用してください。This option should only be used for login synchronization between two servers. パスワードを定期的に変更する場合は HASHED オプションを使用しないでください。Do not use the HASHED option to routinely change passwords.

OLD_PASSWORD =' oldpassword ' : SQL ServerSQL Server ログインにのみ適用されます。OLD_PASSWORD ='oldpassword' Applies only to SQL ServerSQL Server logins. 新しいパスワードを割り当てるログインの、現在のパスワードを指定します。The current password of the login to which a new password will be assigned. パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive.

MUST_CHANGEMUST_CHANGE
SQL ServerSQL Server ログインにのみ適用されます。Applies only to SQL ServerSQL Server logins. このオプションを指定した場合、SQL ServerSQL Server で変更後のログインを最初に使用するときには新しいパスワードの入力が求められます。If this option is included, SQL ServerSQL Server will prompt for an updated password the first time the altered login is used.

NAME = login_name: ログインの名前を変更する場合、新しい名前を指定します。NAME = login_name The new name of the login that is being renamed. ログインが Windows ログインの場合は、新しい名前に対応する Windows プリンシパルの SID と、SQL ServerSQL Server 内のログインに関連付けられている SID が一致する必要があります。If the login is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL ServerSQL Server. SQL ServerSQL Server ログインの新しい名前には、円記号 (\) は使用できません。The new name of a SQL ServerSQL Server login cannot contain a backslash character (\).

CHECK_EXPIRATION = { ON | OFF } SQL ServerSQL Server ログインにのみ適用されます。CHECK_EXPIRATION = { ON | OFF } Applies only to SQL ServerSQL Server logins. このログインに、パスワードの有効期限ポリシーを適用するかどうかを指定します。Specifies whether password expiration policy should be enforced on this login. 既定値は OFF です。The default value is OFF.

CHECK_POLICY = { ON | OFF }: SQL ServerSQL Server ログインにのみ適用されます。CHECK_POLICY = { ON | OFF } Applies only to SQL ServerSQL Server logins. このログインに、SQL ServerSQL Server を実行しているコンピューターの、Windows のパスワード ポリシーを適用するかどうかを指定します。Specifies that the Windows password policies of the computer on which SQL ServerSQL Server is running should be enforced on this login. 既定値は ON です。The default value is ON.

CREDENTIAL = credential_name: SQL ServerSQL Server ログインにマップする資格情報の名前を指定します。CREDENTIAL = credential_name The name of a credential to be mapped to a SQL ServerSQL Server login. この資格情報は、サーバー内に既に存在している必要があります。The credential must already exist in the server. 詳細については、資格情報に関するページをご覧ください。For more information, see Credentials. 資格情報を sa ログインにマップすることはできません。A credential cannot be mapped to the sa login.

NO CREDENTIAL: ログインからサーバー資格情報への既存のマッピングをすべて削除します。NO CREDENTIAL Removes any existing mapping of the login to a server credential. 詳細については、資格情報に関するページをご覧ください。For more information, see Credentials.

UNLOCK: SQL ServerSQL Server ログインにのみ適用されます。UNLOCK Applies only to SQL ServerSQL Server logins. ロックされているログインのロックを解除する必要があることを指定します。Specifies that a login that is locked out should be unlocked.

ADD CREDENTIAL: 拡張キー管理 (EKM) プロバイダー資格情報をログインに追加します。ADD CREDENTIAL Adds an Extensible Key Management (EKM) provider credential to the login. 詳しくは、「拡張キー管理 (EKM)」をご覧ください。For more information, see Extensible Key Management (EKM).

DROP CREDENTIAL: ログインから拡張キー管理 (EKM) プロバイダー資格情報を削除します。DROP CREDENTIAL Removes an Extensible Key Management (EKM) provider credential from the login. 詳しくは、「拡張キー管理 (EKM)」をご覧ください。For more information, see Extensible Key Management (EKM).

RemarksRemarks

CHECK_POLICY が ON に設定されている場合、HASHED 引数は使用できません。When CHECK_POLICY is set to ON, the HASHED argument cannot be used.

CHECK_POLICY を ON に変更した場合、次の動作が発生します。When CHECK_POLICY is changed to ON, the following behavior occurs:

  • パスワードの履歴が、現在のパスワード ハッシュの値に初期化されます。The password history is initialized with the value of the current password hash.

    CHECK_POLICY を OFF に変更した場合、次の動作が発生します。When CHECK_POLICY is changed to OFF, the following behavior occurs:

  • CHECK_EXPIRATION も OFF に設定されます。CHECK_EXPIRATION is also set to OFF.

  • パスワード履歴は消去されます。The password history is cleared.

  • lockout_time がリセットされます。The value of lockout_time is reset.

MUST_CHANGE が指定された場合、CHECK_EXPIRATION および CHECK_POLICY は ON に設定されなければなりません。If MUST_CHANGE is specified, CHECK_EXPIRATION and CHECK_POLICY must be set to ON. ON に設定しない場合、ステートメントは失敗します。Otherwise, the statement will fail.

CHECK_POLICY を OFF に設定した場合、CHECK_EXPIRATION を ON に設定することはできません。If CHECK_POLICY is set to OFF, CHECK_EXPIRATION cannot be set to ON. このオプションの組み合わせで ALTER LOGIN ステートメントを実行すると、ステートメントは失敗します。An ALTER LOGIN statement that has this combination of options will fail.

ALTER_LOGIN を DISABLE 引数と共に使用して Windows グループへのアクセスを拒否することはできません。You cannot use ALTER_LOGIN with the DISABLE argument to deny access to a Windows group. これは仕様です。This is by design. たとえば、ALTER_LOGIN [domain\group] DISABLE を実行すると次のエラー メッセージが返されます。For example, ALTER_LOGIN [domain\group] DISABLE will return the following error message:

`"Msg 15151, Level 16, State 1, Line 1
"Cannot alter the login '*Domain\Group*', because it does not exist or you do not have permission."`

SQL DatabaseSQL Database では、接続の認証に必要なログイン データおよびサーバー レベルのファイアウォール規則は、各データベースで一時的にキャッシュされます。In SQL DatabaseSQL Database, login data required to authenticate a connection and server-level firewall rules are temporarily cached in each database. このキャッシュは定期的に更新されます。This cache is periodically refreshed. 認証キャッシュを強制的に更新し、データベースに最新バージョンのログイン テーブルがあることを確認するには、DBCC FLUSHAUTHCACHE を実行します。To force a refresh of the authentication cache and make sure that a database has the latest version of the logins table, execute DBCC FLUSHAUTHCACHE.

アクセス許可Permissions

ALTER ANY LOGIN 権限が必要です。Requires ALTER ANY LOGIN permission.

CREDENTIAL オプションを使用する場合は、ALTER ANY CREDENTIAL 権限も必要です。If the CREDENTIAL option is used, also requires ALTER ANY CREDENTIAL permission.

変更するログインが固定サーバー ロール sysadmin のメンバーであるか、ログインに CONTROL SERVER 権限が与えられている場合、次の変更を行うには CONTROL SERVER 権限も必要になります。If the login that is being changed is a member of the sysadmin fixed server role or a grantee of CONTROL SERVER permission, also requires CONTROL SERVER permission when making the following changes:

  • 以前のパスワードを指定せずにパスワードをリセットする。Resetting the password without supplying the old password.
  • MUST_CHANGE、CHECK_POLICY、または CHECK_EXPIRATION を有効にする。Enabling MUST_CHANGE, CHECK_POLICY, or CHECK_EXPIRATION.
  • ログイン名を変更する。Changing the login name.
  • ログインを有効または無効にする。Enabling or disabling the login.
  • ログインを別の資格情報にマップする。Mapping the login to a different credential.

プリンシパルでは、その独自のログインのパスワード、既定の言語、および既定のデータベースを変更できます。A principal can change the password, default language, and default database for its own login.

sysadmin 特権を持つ SQL プリンシパルのみが Azure AD ログインに対して ALTER LOGIN コマンドを実行できます。Only a SQL principal with sysadmin privileges can execute an ALTER LOGIN command against an Azure AD login.

使用例Examples

これらの例には、他の SQL 製品の使用例も含まれます。These examples also include examples for using other SQL products. 上記でどの引数がサポートされているかを確認してください。Please see which arguments are supported above.

A.A. 無効なログインを有効にするEnabling a disabled login

次の例では、ログイン Mary5 を有効にします。The following example enables the login Mary5.

ALTER LOGIN Mary5 ENABLE;

B.B. ログインのパスワードを変更するChanging the password of a login

次の例では、ログイン Mary5 のパスワードを強力なパスワードに変更します。The following example changes the password of login Mary5 to a strong password.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C.C. ログインの名前を変更するChanging the name of a login

次の例では、ログイン Mary5 の名前を John2 に変更します。The following example changes the name of login Mary5 to John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D.D. ログインを資格情報にマップするMapping a login to a credential

次の例では、ログイン John2 を資格情報 Custodian04 にマップします。The following example maps the login John2 to the credential Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E.E. ログインを拡張キー管理資格情報にマップするMapping a login to an Extensible Key Management credential

次の例では、ログイン Mary5 を EKM 資格情報 EKMProvider1 にマップします。The following example maps the login Mary5 to the EKM credential EKMProvider1.

適用対象: SQL Server 2008SQL Server 2008 から SQL ServerSQL Server、および Azure SQL Database マネージド インスタンス。Applies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server, and Azure SQL Database managed instance.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.F. ログインのロックを解除するUnlocking a login

SQL ServerSQL Server ログインのロックを解除するには、**** を必要なアカウントのパスワードに置き換えて、次のステートメントを実行します。To unlock a SQL ServerSQL Server login, execute the following statement, replacing **** with the desired account password.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;

GO

パスワードを変更しないでログインのロックを解除するには、チェック ポリシーをオフにしてからもう一度オンにします。To unlock a login without changing the password, turn the check policy off and then on again.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G.G. HASHED を使用してログインのパスワードを変更するChanging the password of a login using HASHED

次の例では、TestUser ログインのパスワードを既にハッシュされた値に変更します。The following example changes the password of the TestUser login to an already hashed value.

適用対象: SQL Server 2008SQL Server 2008 から SQL ServerSQL Server、および Azure SQL Database マネージド インスタンス。Applies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server, and Azure SQL Database managed instance.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

H.H. Azure AD ユーザーのログインを無効にするDisabling the login of an Azure AD user

次の例では、Azure AD ユーザー joe@contoso.com のログインを無効にします。The following example disables the login of an Azure AD user, joe@contoso.com.

ALTER LOGIN [joe@contoso.com] DISABLE

参照See Also

SQL ServerSQL Server SQL Database
単一データベース/エラスティック プール
SQL Database
single database/elastic pool
SQL Database
マネージド インスタンス
SQL Database
managed instance
* SQL Data
Warehouse *
* SQL Data
Warehouse *
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Azure SQL Data WarehouseAzure SQL Data Warehouse

構文Syntax

-- Syntax for Azure SQL Database and Azure SQL Data Warehouse

ALTER LOGIN login_name
  {
      <status_option>
    | WITH <set_option> [ ,.. .n ]
  }
[;]

<status_option> ::=
    ENABLE | DISABLE

<set_option> ::=
    PASSWORD ='password'
    [
      OLD_PASSWORD ='oldpassword'
    ]
    | NAME = login_name

引数Arguments

login_name: 変更する SQL ServerSQL Server ログインの名前を指定します。login_name Specifies the name of the SQL ServerSQL Server login that is being changed. ドメイン ログインは角かっこで囲み、[domain\user] の形式で表す必要があります。Domain logins must be enclosed in brackets in the format [domain\user].

ENABLE | DISABLE: このログインを有効にするか無効にするかを指定します。ENABLE | DISABLE Enables or disables this login. ログインを無効にしても、既に接続されているログインの動作には影響しません。Disabling a login does not affect the behavior of logins that are already connected. (KILL ステートメントを使用して、既存の接続を終了します。)無効にしたログインの権限を保持したまま、偽装を継続することができます。(Use the KILL statement to terminate an existing connections.) Disabled logins retain their permissions and can still be impersonated.

PASSWORD =' password ' : SQL ServerSQL Server ログインにのみ適用されます。PASSWORD ='password' Applies only to SQL ServerSQL Server logins. 変更するログインのパスワードを指定します。Specifies the password for the login that is being changed. パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive.

SQL Database への接続を継続的にアクティブにするには、少なくとも 10 時間ごとに (データベース エンジンによって実行される) 再認証が必要です。Continuously active connections to SQL Database require reauthorization (performed by the Database Engine) at least every 10 hours. データベース エンジンは、最初に送信されたパスワードを使用して再認証を試行するので、ユーザー入力は不要です。The Database Engine attempts reauthorization using the originally submitted password and no user input is required. パスワードが SQL Database でリセットされた場合、接続プーリングのために接続がリセットされても、パフォーマンス上の理由から接続は再認証されません。For performance reasons, when a password is reset in SQL Database, the connection will not be re-authenticated, even if the connection is reset due to connection pooling. これは、オンプレミスの SQL Server の動作とは異なります。This is different from the behavior of on-premises SQL Server. 接続が最初に承認された後でパスワードが変更されている場合は、接続を終了し、新しいパスワードを使用して新しい接続を行う必要があります。If the password has been changed since the connection was initially authorized, the connection must be terminated and a new connection made using the new password. KILL DATABASE CONNECTION 権限を持つユーザーは、KILL コマンドを使用して SQL Database への接続を明示的に終了できます。A user with the KILL DATABASE CONNECTION permission can explicitly terminate a connection to SQL Database by using the KILL command. 詳細については、KILL に関するページをご覧ください。For more information, see KILL.

重要

ログイン (または包含データベース ユーザー) が接続して認証されると、接続にはログインに関する ID 情報がキャッシュされます。When a login (or a contained database user) connects and is authenticated, the connection caches identity information about the login. Windows 認証ログインの場合、これには Windows グループのメンバーシップに関する情報も含まれます。For a Windows Authentication login, this includes information about membership in Windows groups. 接続が維持されている限り、ログインの ID が認証された状態は継続します。The identity of the login remains authenticated as long as the connection is maintained. パスワードのリセットや Windows グループのメンバーシップの変更など、ID に関する変更を適用するには、認証機関 (Windows または SQL ServerSQL Server) からログオフしてもう一度ログインする必要があります。To force changes in the identity, such as a password reset or change in Windows group membership, the login must logoff from the authentication authority (Windows or SQL ServerSQL Server), and log in again. sysadmin 固定サーバー ロールのメンバーまたは ALTER ANY CONNECTION 権限を持つすべてのログインは、 KILL コマンドを使用して接続を終了し、ログインの再接続を強制することができます。A member of the sysadmin fixed server role or any login with the ALTER ANY CONNECTION permission can use the KILL command to end a connection and force a login to reconnect. SQL Server Management StudioSQL Server Management Studio でオブジェクト エクスプ ローラーおよびクエリ エディター ウィンドウに複数の接続を開くときに、接続情報を再利用できます。can reuse connection information when opening multiple connections to Object Explorer and Query Editor windows. 再接続を強制するには、すべての接続を閉じます。Close all connections to force reconnection.

OLD_PASSWORD =' oldpassword ' : SQL ServerSQL Server ログインにのみ適用されます。OLD_PASSWORD ='oldpassword' Applies only to SQL ServerSQL Server logins. 新しいパスワードを割り当てるログインの、現在のパスワードを指定します。The current password of the login to which a new password will be assigned. パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive.

NAME = login_name: ログインの名前を変更する場合、新しい名前を指定します。NAME = login_name The new name of the login that is being renamed. Windows ログインの場合は、新しい名前に対応する Windows プリンシパルの SID と、SQL ServerSQL Server 内のログインに関連付けられている SID が一致する必要があります。If this is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL ServerSQL Server. SQL ServerSQL Server ログインの新しい名前には、円記号 (\) は使用できません。The new name of a SQL ServerSQL Server login cannot contain a backslash character (\).

RemarksRemarks

SQL DatabaseSQL Database では、接続の認証に必要なログイン データおよびサーバー レベルのファイアウォール規則は、各データベースで一時的にキャッシュされます。In SQL DatabaseSQL Database, login data required to authenticate a connection and server-level firewall rules are temporarily cached in each database. このキャッシュは定期的に更新されます。This cache is periodically refreshed. 認証キャッシュを強制的に更新し、データベースに最新バージョンのログイン テーブルが確実にあるようにするには、DBCC FLUSHAUTHCACHE を実行します。To force a refresh of the authentication cache and make sure that a database has the latest version of the logins table, execute DBCC FLUSHAUTHCACHE.

アクセス許可Permissions

ALTER ANY LOGIN 権限が必要です。Requires ALTER ANY LOGIN permission.

変更するログインが固定サーバー ロール sysadmin のメンバーであるか、ログインに CONTROL SERVER 権限が与えられている場合、次の変更を行うには CONTROL SERVER 権限も必要になります。If the login that is being changed is a member of the sysadmin fixed server role or a grantee of CONTROL SERVER permission, also requires CONTROL SERVER permission when making the following changes:

  • 以前のパスワードを指定せずにパスワードをリセットする。Resetting the password without supplying the old password.
  • ログイン名を変更する。Changing the login name.
  • ログインを有効または無効にする。Enabling or disabling the login.
  • ログインを別の資格情報にマップする。Mapping the login to a different credential.

プリンシパルは、独自のログインのパスワードを変更できます。A principal can change the password for its own login.

使用例Examples

これらの例には、他の SQL 製品の使用例も含まれます。These examples also include examples for using other SQL products. 上記でどの引数がサポートされているかを確認してください。Please see which arguments are supported above.

A.A. 無効なログインを有効にするEnabling a disabled login

次の例では、ログイン Mary5 を有効にします。The following example enables the login Mary5.

ALTER LOGIN Mary5 ENABLE;

B.B. ログインのパスワードを変更するChanging the password of a login

次の例では、ログイン Mary5 のパスワードを強力なパスワードに変更します。The following example changes the password of login Mary5 to a strong password.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C.C. ログインの名前を変更するChanging the name of a login

次の例では、ログイン Mary5 の名前を John2 に変更します。The following example changes the name of login Mary5 to John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D.D. ログインを資格情報にマップするMapping a login to a credential

次の例では、ログイン John2 を資格情報 Custodian04 にマップします。The following example maps the login John2 to the credential Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E.E. ログインを拡張キー管理資格情報にマップするMapping a login to an Extensible Key Management credential

次の例では、ログイン Mary5 を EKM 資格情報 EKMProvider1 にマップします。The following example maps the login Mary5 to the EKM credential EKMProvider1.

適用対象: SQL Server 2008SQL Server 2008 から SQL ServerSQL ServerApplies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.F. ログインのロックを解除するUnlocking a login

SQL ServerSQL Server ログインのロックを解除するには、**** を必要なアカウントのパスワードに置き換えて、次のステートメントを実行します。To unlock a SQL ServerSQL Server login, execute the following statement, replacing **** with the desired account password.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;

GO

パスワードを変更しないでログインのロックを解除するには、チェック ポリシーをオフにしてからもう一度オンにします。To unlock a login without changing the password, turn the check policy off and then on again.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G.G. HASHED を使用してログインのパスワードを変更するChanging the password of a login using HASHED

次の例では、TestUser ログインのパスワードを既にハッシュされた値に変更します。The following example changes the password of the TestUser login to an already hashed value.

適用対象: SQL Server 2008SQL Server 2008 から SQL ServerSQL ServerApplies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

参照See Also

SQL ServerSQL Server SQL Database
単一データベース/エラスティック プール
SQL Database
single database/elastic pool
SQL Database
マネージド インスタンス
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
* Analytics
Platform System (PDW) *
* Analytics
Platform System (PDW) *

 

分析プラットフォーム システムAnalytics Platform System

構文Syntax

-- Syntax for Analytics Platform System

ALTER LOGIN login_name
    {
    <status_option>
    | WITH <set_option> [ ,... ]
    }

<status_option> ::=ENABLE | DISABLE

<set_option> ::=
    PASSWORD ='password'
    [
      OLD_PASSWORD ='oldpassword'
      | <password_option> [<password_option> ]
    ]
    | NAME = login_name
    | CHECK_POLICY = { ON | OFF }
    | CHECK_EXPIRATION = { ON | OFF }

<password_option> ::=
    MUST_CHANGE | UNLOCK

引数Arguments

login_name: 変更する SQL ServerSQL Server ログインの名前を指定します。login_name Specifies the name of the SQL ServerSQL Server login that is being changed. ドメイン ログインは角かっこで囲み、[domain\user] の形式で表す必要があります。Domain logins must be enclosed in brackets in the format [domain\user].

ENABLE | DISABLE: このログインを有効にするか無効にするかを指定します。ENABLE | DISABLE Enables or disables this login. ログインを無効にしても、既に接続されているログインの動作には影響しません。Disabling a login does not affect the behavior of logins that are already connected. (KILL ステートメントを使用して、既存の接続を終了します。)無効にしたログインの権限を保持したまま、偽装を継続することができます。(Use the KILL statement to terminate an existing connection.) Disabled logins retain their permissions and can still be impersonated.

PASSWORD =' password ' : SQL ServerSQL Server ログインにのみ適用されます。PASSWORD ='password' Applies only to SQL ServerSQL Server logins. 変更するログインのパスワードを指定します。Specifies the password for the login that is being changed. パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive.

重要

ログイン (または包含データベース ユーザー) が接続して認証されると、接続にはログインに関する ID 情報がキャッシュされます。When a login (or a contained database user) connects and is authenticated, the connection caches identity information about the login. Windows 認証ログインの場合、これには Windows グループのメンバーシップに関する情報も含まれます。For a Windows Authentication login, this includes information about membership in Windows groups. 接続が維持されている限り、ログインの ID が認証された状態は継続します。The identity of the login remains authenticated as long as the connection is maintained. パスワードのリセットや Windows グループのメンバーシップの変更など、ID に関する変更を適用するには、認証機関 (Windows または SQL ServerSQL Server) からログオフしてもう一度ログインする必要があります。To force changes in the identity, such as a password reset or change in Windows group membership, the login must logoff from the authentication authority (Windows or SQL ServerSQL Server), and log in again. sysadmin 固定サーバー ロールのメンバーまたは ALTER ANY CONNECTION 権限を持つすべてのログインは、 KILL コマンドを使用して接続を終了し、ログインの再接続を強制することができます。A member of the sysadmin fixed server role or any login with the ALTER ANY CONNECTION permission can use the KILL command to end a connection and force a login to reconnect. SQL Server Management StudioSQL Server Management Studio でオブジェクト エクスプ ローラーおよびクエリ エディター ウィンドウに複数の接続を開くときに、接続情報を再利用できます。can reuse connection information when opening multiple connections to Object Explorer and Query Editor windows. 再接続を強制するには、すべての接続を閉じます。Close all connections to force reconnection.

OLD_PASSWORD =' oldpassword ' : SQL ServerSQL Server ログインにのみ適用されます。OLD_PASSWORD ='oldpassword' Applies only to SQL ServerSQL Server logins. 新しいパスワードを割り当てるログインの、現在のパスワードを指定します。The current password of the login to which a new password will be assigned. パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive.

MUST_CHANGE: SQL ServerSQL Server ログインにのみ適用されます。MUST_CHANGE Applies only to SQL ServerSQL Server logins. このオプションを指定した場合、SQL ServerSQL Server で変更後のログインを最初に使用するときには新しいパスワードの入力が求められます。If this option is included, SQL ServerSQL Server will prompt for an updated password the first time the altered login is used.

NAME = login_name: ログインの名前を変更する場合、新しい名前を指定します。NAME = login_name The new name of the login that is being renamed. ログインが Windows ログインの場合は、新しい名前に対応する Windows プリンシパルの SID と、SQL ServerSQL Server 内のログインに関連付けられている SID が一致する必要があります。If the login is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL ServerSQL Server. SQL ServerSQL Server ログインの新しい名前には、円記号 (\) は使用できません。The new name of a SQL ServerSQL Server login cannot contain a backslash character (\).

CHECK_EXPIRATION = { ON | OFF } SQL ServerSQL Server ログインにのみ適用されます。CHECK_EXPIRATION = { ON | OFF } Applies only to SQL ServerSQL Server logins. このログインに、パスワードの有効期限ポリシーを適用するかどうかを指定します。Specifies whether password expiration policy should be enforced on this login. 既定値は OFF です。The default value is OFF.

CHECK_POLICY = { ON | OFF }: SQL ServerSQL Server ログインにのみ適用されます。CHECK_POLICY = { ON | OFF } Applies only to SQL ServerSQL Server logins. このログインに、SQL ServerSQL Server を実行しているコンピューターの、Windows のパスワード ポリシーを適用するかどうかを指定します。Specifies that the Windows password policies of the computer on which SQL ServerSQL Server is running should be enforced on this login. 既定値は ON です。The default value is ON.

UNLOCK: SQL ServerSQL Server ログインにのみ適用されます。UNLOCK Applies only to SQL ServerSQL Server logins. ロックされているログインのロックを解除する必要があることを指定します。Specifies that a login that is locked out should be unlocked.

RemarksRemarks

CHECK_POLICY が ON に設定されている場合、HASHED 引数は使用できません。When CHECK_POLICY is set to ON, the HASHED argument cannot be used.

CHECK_POLICY を ON に変更した場合、次の動作が発生します。When CHECK_POLICY is changed to ON, the following behavior occurs:

  • パスワードの履歴が、現在のパスワード ハッシュの値に初期化されます。The password history is initialized with the value of the current password hash.

    CHECK_POLICY を OFF に変更した場合、次の動作が発生します。When CHECK_POLICY is changed to OFF, the following behavior occurs:

  • CHECK_EXPIRATION も OFF に設定されます。CHECK_EXPIRATION is also set to OFF.

  • パスワード履歴は消去されます。The password history is cleared.

  • lockout_time がリセットされます。The value of lockout_time is reset.

MUST_CHANGE が指定された場合、CHECK_EXPIRATION および CHECK_POLICY は ON に設定されなければなりません。If MUST_CHANGE is specified, CHECK_EXPIRATION and CHECK_POLICY must be set to ON. ON に設定しない場合、ステートメントは失敗します。Otherwise, the statement will fail.

CHECK_POLICY を OFF に設定した場合、CHECK_EXPIRATION を ON に設定することはできません。If CHECK_POLICY is set to OFF, CHECK_EXPIRATION cannot be set to ON. このオプションの組み合わせで ALTER LOGIN ステートメントを実行すると、ステートメントは失敗します。An ALTER LOGIN statement that has this combination of options will fail.

ALTER_LOGIN を DISABLE 引数と共に使用して Windows グループへのアクセスを拒否することはできません。You cannot use ALTER_LOGIN with the DISABLE argument to deny access to a Windows group. これは仕様です。This is by design. たとえば、ALTER_LOGIN [domain\group] DISABLE を実行すると次のエラー メッセージが返されます。For example, ALTER_LOGIN [domain\group] DISABLE will return the following error message:

`"Msg 15151, Level 16, State 1, Line 1
"Cannot alter the login '*Domain\Group*', because it does not exist or you do not have permission."`

SQL DatabaseSQL Database では、接続の認証に必要なログイン データおよびサーバー レベルのファイアウォール規則は、各データベースで一時的にキャッシュされます。In SQL DatabaseSQL Database, login data required to authenticate a connection and server-level firewall rules are temporarily cached in each database. このキャッシュは定期的に更新されます。This cache is periodically refreshed. 認証キャッシュを強制的に更新し、データベースに最新バージョンのログイン テーブルがあることを確認するには、DBCC FLUSHAUTHCACHE を実行します。To force a refresh of the authentication cache and make sure that a database has the latest version of the logins table, execute DBCC FLUSHAUTHCACHE.

アクセス許可Permissions

ALTER ANY LOGIN 権限が必要です。Requires ALTER ANY LOGIN permission.

CREDENTIAL オプションを使用する場合は、ALTER ANY CREDENTIAL 権限も必要です。If the CREDENTIAL option is used, also requires ALTER ANY CREDENTIAL permission.

変更するログインが固定サーバー ロール sysadmin のメンバーであるか、ログインに CONTROL SERVER 権限が与えられている場合、次の変更を行うには CONTROL SERVER 権限も必要になります。If the login that is being changed is a member of the sysadmin fixed server role or a grantee of CONTROL SERVER permission, also requires CONTROL SERVER permission when making the following changes:

  • 以前のパスワードを指定せずにパスワードをリセットする。Resetting the password without supplying the old password.
  • MUST_CHANGE、CHECK_POLICY、または CHECK_EXPIRATION を有効にする。Enabling MUST_CHANGE, CHECK_POLICY, or CHECK_EXPIRATION.
  • ログイン名を変更する。Changing the login name.
  • ログインを有効または無効にする。Enabling or disabling the login.
  • ログインを別の資格情報にマップする。Mapping the login to a different credential.

プリンシパルでは、その独自のログインのパスワード、既定の言語、および既定のデータベースを変更できます。A principal can change the password, default language, and default database for its own login.

使用例Examples

これらの例には、他の SQL 製品の使用例も含まれます。These examples also include examples for using other SQL products. 上記でどの引数がサポートされているかを確認してください。Please see which arguments are supported above.

A.A. 無効なログインを有効にするEnabling a disabled login

次の例では、ログイン Mary5 を有効にします。The following example enables the login Mary5.

ALTER LOGIN Mary5 ENABLE;

B.B. ログインのパスワードを変更するChanging the password of a login

次の例では、ログイン Mary5 のパスワードを強力なパスワードに変更します。The following example changes the password of login Mary5 to a strong password.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C.C. ログインの名前を変更するChanging the name of a login

次の例では、ログイン Mary5 の名前を John2 に変更します。The following example changes the name of login Mary5 to John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D.D. ログインを資格情報にマップするMapping a login to a credential

次の例では、ログイン John2 を資格情報 Custodian04 にマップします。The following example maps the login John2 to the credential Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E.E. ログインを拡張キー管理資格情報にマップするMapping a login to an Extensible Key Management credential

次の例では、ログイン Mary5 を EKM 資格情報 EKMProvider1 にマップします。The following example maps the login Mary5 to the EKM credential EKMProvider1.

適用対象: SQL Server 2008SQL Server 2008 から SQL ServerSQL ServerApplies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.F. ログインのロックを解除するUnlocking a login

SQL ServerSQL Server ログインのロックを解除するには、**** を必要なアカウントのパスワードに置き換えて、次のステートメントを実行します。To unlock a SQL ServerSQL Server login, execute the following statement, replacing **** with the desired account password.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;

GO

パスワードを変更しないでログインのロックを解除するには、チェック ポリシーをオフにしてからもう一度オンにします。To unlock a login without changing the password, turn the check policy off and then on again.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G.G. HASHED を使用してログインのパスワードを変更するChanging the password of a login using HASHED

次の例では、TestUser ログインのパスワードを既にハッシュされた値に変更します。The following example changes the password of the TestUser login to an already hashed value.

適用対象: SQL Server 2008SQL Server 2008 から SQL ServerSQL ServerApplies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

参照See Also