次の方法で共有


ALTER LOGIN (Transact-SQL)

SQL Server ログイン アカウントのプロパティを変更します。

Transact-SQL 構文規則

手記

Microsoft Entra ID は、以前は Azure Active Directory (Azure AD) と呼ばれていました。

製品を選択する

次の行で、関心のある製品名を選択すると、その製品の情報のみが表示されます。

* SQL Server *  

SQL Database の

SQL Managed Instance の

Azure Synapse の
分析

 

SQL Server

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

引数

login_name

変更する SQL Server ログインの名前を指定します。 ドメイン ログインは、[<domain>\<user>]の形式で角かっこで囲む必要があります。

ENABLE |無効にする

このログインを有効または無効にします。 ログインを無効にしても、既に接続されているログインの動作には影響しません。 (既存の接続を終了するには、KILL ステートメントを使用します)。無効なログインはアクセス許可を保持し、権限を借用することもできます。

PASSWORD = 'password'

SQL Server ログインにのみ適用されます。 変更するログインのパスワードを指定します。 パスワードでは大文字と小文字が区別されます。

PASSWORD = hashed_password

HASHED キーワードにのみ適用されます。 作成するログインのパスワードのハッシュ値を指定します。

大事な

ログイン (または包含データベース ユーザー) が接続して認証されると、接続によってログインに関する ID 情報がキャッシュされます。 Windows 認証ログインの場合、これには Windows グループのメンバーシップに関する情報が含まれます。 ログインの ID は、接続が維持されている限り認証されたままになります。 パスワードのリセットや Windows グループ メンバーシップの変更など、ID の変更を強制するには、ログインを認証機関 (Windows または SQL Server) からサインアウトして、もう一度サインインする必要があります。 sysadmin 固定サーバー ロールのメンバー、または ALTER ANY CONNECTION 権限を持つログインは、KILL コマンドを使用して接続を終了し、ログインを強制的に再接続できます。 SQL Server Management Studio では、オブジェクト エクスプローラーとクエリ エディター ウィンドウへの複数の接続を開くときに、接続情報を再利用できます。 すべての接続を閉じて、強制的に再接続します。

ハッシュ

SQL Server ログインにのみ適用されます。 PASSWORD 引数の後に入力されたパスワードが既にハッシュされていることを指定します。 このオプションが選択されていない場合、パスワードはデータベースに格納される前にハッシュされます。 このオプションは、2 つのサーバー間のログイン同期にのみ使用する必要があります。 パスワードを定期的に変更する場合は、HASHED オプションを使用しないでください。

OLD_PASSWORD = 'old_password'

SQL Server ログインにのみ適用されます。 新しいパスワードが割り当てられるログインの現在のパスワード。 パスワードでは大文字と小文字が区別されます。

MUST_CHANGE

SQL Server ログインにのみ適用されます。 このオプションが含まれている場合、変更されたログインが初めて使用されるときに、SQL Server によって更新されたパスワードの入力が求められます。

DEFAULT_DATABASE = データベース

ログインに割り当てる既定のデータベースを指定します。

DEFAULT_LANGUAGE = 言語

ログインに割り当てる既定の言語を指定します。 すべての SQL Database ログインの既定の言語は英語であり、変更することはできません。 SQL Server on Linux での sa ログインの既定の言語は英語ですが、変更できます。

NAME = login_name

名前を変更するログインの新しい名前。 これが Windows ログインの場合、新しい名前に対応する Windows プリンシパルの SID は、SQL Server のログインに関連付けられている SID と一致する必要があります。 SQL Server ログインの新しい名前に円記号 (\) を含めることはできません。

CHECK_EXPIRATION = { ON |OFF }

SQL Server ログインにのみ適用されます。 このログインにパスワードの有効期限ポリシーを適用するかどうかを指定します。 既定値は OFF です。

CHECK_POLICY = { ON |OFF }

SQL Server ログインにのみ適用されます。 SQL Server が実行されているコンピューターの Windows パスワード ポリシーをこのログインに適用することを指定します。 既定値は ON です。

CREDENTIAL = credential_name

SQL Server ログインにマップする資格情報の名前。 資格情報はサーバーに既に存在している必要があります。 詳細については、「資格情報の」を参照してください。 資格情報を sa ログインにマップすることはできません。

資格情報なし

サーバー資格情報へのログインの既存のマッピングを削除します。 詳細については、「資格情報の」を参照してください。

アンロック

SQL Server ログインにのみ適用されます。 ロックアウトされたログインのロックを解除することを指定します。

資格情報の追加

拡張キー管理 (EKM) プロバイダーの資格情報をログインに追加します。 詳細については、「拡張キー管理 (EKM)を参照してください。

DROP CREDENTIAL

ログインから拡張キー管理 (EKM) プロバイダーの資格情報を削除します。 詳細については、[拡張キー管理 (EKM)] (../../relational-databases/security/encryption/extensible-key-management-ekm.md)。

備考

CHECK_POLICYが ON に設定されている場合、HASHED 引数は使用できません。

CHECK_POLICYが ON に変更されると、次の動作が発生します。

  • パスワード履歴は、現在のパスワード ハッシュの値で初期化されます。

CHECK_POLICYが OFF に変更されると、次の動作が発生します。

  • CHECK_EXPIRATIONも OFF に設定されます。
  • パスワード履歴がクリアされます。
  • lockout_time の値がリセットされます。

MUST_CHANGEを指定する場合は、CHECK_EXPIRATIONとCHECK_POLICYを ON に設定する必要があります。 それ以外の場合、ステートメントは失敗します。

CHECK_POLICYが OFF に設定されている場合、CHECK_EXPIRATIONを ON に設定することはできません。 このオプションの組み合わせを持つ ALTER LOGIN ステートメントは失敗します。

DISABLE 引数と共に ALTER LOGIN を使用して、Windows グループへのアクセスを拒否することはできません。 たとえば、ALTER LOGIN [<domain>\<group>] DISABLE は次のエラー メッセージを返します。

"Msg 15151, Level 16, State 1, Line 1
Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission.

これは仕様です。

SQL Database では、接続とサーバー レベルのファイアウォール規則を認証するために必要なログイン データが、各データベースに一時的にキャッシュされます。 このキャッシュは定期的に更新されます。 認証キャッシュを強制的に更新し、データベースに最新バージョンのログイン テーブルがあることを確認するには、DBCC FLUSHAUTHCACHE実行します。

権限

ALTER ANY LOGIN 権限が必要です。

CREDENTIAL オプションを使用する場合は、ALTER ANY CREDENTIAL 権限も必要です。

変更中のログインが、固定サーバー ロール sysadmin のメンバーであるか、CONTROL SERVER 権限の権限付与対象ユーザーである場合は、次の変更を行うときにも CONTROL SERVER 権限が必要です。

  • 古いパスワードを指定せずにパスワードをリセットする。
  • MUST_CHANGE、CHECK_POLICY、またはCHECK_EXPIRATIONを有効にする。
  • ログイン名の変更。
  • ログインの有効化または無効化。
  • ログインを別の資格情報にマッピングします。

プリンシパルは、独自のログインのパスワード、既定の言語、および既定のデータベースを変更できます。

ある。 無効なログインを有効にする

次の例では、ログイン Mary5を有効にします。

ALTER LOGIN Mary5 ENABLE;

B. ログインのパスワードを変更する

次の例では、ログイン Mary5 のパスワードを強力なパスワードに変更します。

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

C. ログインとしてログインするときにログインのパスワードを変更する

現在ログインしているログインのパスワードを変更しようとして、ALTER ANY LOGIN アクセス許可がない場合は、OLD_PASSWORD オプションを指定する必要があります。

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

D. ログインの名前を変更する

次の例では、ログイン Mary5 の名前を John2に変更します。

ALTER LOGIN Mary5 WITH NAME = John2;

E. ログインを資格情報にマップする

次の例では、ログイン John2 を資格情報 Custodian04にマップします。

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

F. 拡張キー管理資格情報へのログインのマップ

次の例では、ログイン Mary5 を EKM 資格情報 EKMProvider1にマップします。

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

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

SQL Server ログインのロックを解除するには、次のステートメントを実行し、**** を目的のアカウント パスワードに置き換えます。

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

パスワードを変更せずにログインのロックを解除するには、チェック ポリシーをオフにしてから、もう一度オンにします。

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

G. HASHED を使用してログインのパスワードを変更する

次の例では、TestUser ログインのパスワードを既にハッシュされた値に変更します。

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
  • 資格情報 の
  • ログイン の作成を する
  • ログイン を削除する
  • CREATE CREDENTIAL の
  • EVENTDATA の
  • 拡張キー管理 (EKM)

SQL Server の

* SQL Database *

SQL Managed Instance の

Azure Synapse の
分析

 

SQL Database

Azure SQL Database の構文

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

<status_option> ::=
    ENABLE | DISABLE

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

引数

login_name

変更する SQL Server ログインの名前を指定します。 ドメイン ログインは、[domain\user] の形式で角かっこで囲む必要があります。

ENABLE |無効にする

このログインを有効または無効にします。 ログインを無効にしても、既に接続されているログインの動作には影響しません。 (既存の接続を終了するには、KILL ステートメントを使用します)。無効なログインはアクセス許可を保持し、権限を借用することもできます。

PASSWORD = 'password'

SQL Server ログインにのみ適用されます。 変更するログインのパスワードを指定します。 パスワードでは大文字と小文字が区別されます。

SQL Database への継続的にアクティブな接続には、少なくとも 10 時間ごとに (データベース エンジンによって実行される) 再認証が必要です。 データベース エンジンは、最初に送信されたパスワードを使用して再認証を試みますが、ユーザー入力は必要ありません。 パフォーマンス上の理由から、SQL Database でパスワードがリセットされると、接続プールによって接続がリセットされた場合でも、接続は再認証されません。 これは、オンプレミスの SQL Server の動作とは異なります。 接続が最初に承認されてからパスワードが変更された場合は、接続を終了し、新しいパスワードを使用して新しい接続を作成する必要があります。 KILL DATABASE CONNECTION 権限を持つユーザーは、KILL コマンドを使用して SQL Database への接続を明示的に終了できます。 詳細については、「KILL」を参照してください。

大事な

ログイン (または包含データベース ユーザー) が接続して認証されると、接続によってログインに関する ID 情報がキャッシュされます。 Windows 認証ログインの場合、これには Windows グループのメンバーシップに関する情報が含まれます。 ログインの ID は、接続が維持されている限り認証されたままになります。 パスワードのリセットや Windows グループ メンバーシップの変更など、ID の変更を強制するには、ログインを認証機関 (Windows または SQL Server) からサインアウトして、もう一度サインインする必要があります。 sysadmin 固定サーバー ロールのメンバー、または ALTER ANY CONNECTION アクセス許可を持つログインは、KILL コマンドを使用して接続を終了し、ログインを強制的に再接続できます。 SQL Server Management Studio では、オブジェクト エクスプローラーとクエリ エディター ウィンドウへの複数の接続を開くときに、接続情報を再利用できます。 すべての接続を閉じて、強制的に再接続します。

OLD_PASSWORD = 'old_password'

SQL Server ログインにのみ適用されます。 新しいパスワードが割り当てられるログインの現在のパスワード。 パスワードでは大文字と小文字が区別されます。

NAME = login_name

名前を変更するログインの新しい名前。 これが Windows ログインの場合、新しい名前に対応する Windows プリンシパルの SID は、SQL Server のログインに関連付けられている SID と一致する必要があります。 SQL Server ログインの新しい名前に円記号 (\) を含めることはできません。

備考

SQL Database では、接続とサーバー レベルのファイアウォール規則を認証するために必要なログイン データが、各データベースに一時的にキャッシュされます。 このキャッシュは定期的に更新されます。 認証キャッシュを強制的に更新し、データベースに最新バージョンのログイン テーブルがあることを確認するには、DBCC FLUSHAUTHCACHE実行します。

権限

ALTER ANY LOGIN 権限が必要です。

変更中のログインが、固定サーバー ロール sysadmin のメンバーであるか、CONTROL SERVER 権限の権限付与対象ユーザーである場合は、次の変更を行うときにも CONTROL SERVER 権限が必要です。

  • 古いパスワードを指定せずにパスワードをリセットする。
  • ログイン名の変更。
  • ログインの有効化または無効化。
  • ログインを別の資格情報にマッピングします。

プリンシパルは、独自のログインのパスワードを変更できます。

これらの例には、他の SQL 製品を使用する例も含まれます。 サポートされている前の引数を確認します。

ある。 無効なログインを有効にする

次の例では、ログイン Mary5を有効にします。

ALTER LOGIN Mary5 ENABLE;

B. ログインのパスワードを変更する

次の例では、ログイン Mary5 のパスワードを強力なパスワードに変更します。

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

C. ログインの名前を変更する

次の例では、ログイン Mary5 の名前を John2に変更します。

ALTER LOGIN Mary5 WITH NAME = John2;

D. ログインを資格情報にマップする

次の例では、ログイン John2 を資格情報 Custodian04にマップします。

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. 拡張キー管理資格情報へのログインのマップ

次の例では、ログイン Mary5 を EKM 資格情報 EKMProvider1にマップします。

: SQL Server 2008 (10.0.x) 以降に適用されます。

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

F. HASHED を使用してログインのパスワードを変更する

次の例では、TestUser ログインのパスワードを既にハッシュされた値に変更します。

: SQL Server 2008 (10.0.x) 以降に適用されます。

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
  • 資格情報 の
  • ログイン の作成を する
  • ログイン を削除する
  • CREATE CREDENTIAL の
  • EVENTDATA の
  • 拡張キー管理 (EKM)

SQL Server の

SQL Database の

* SQL Managed Instance *

Azure Synapse の
分析

 

Azure SQL Managed Instance

SQL Server と Azure SQL 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
-- Syntax for Azure SQL Managed Instance using Microsoft Entra logins

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

<status_option> ::=
    ENABLE | DISABLE

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

引数

SQL および Microsoft Entra ログインに適用できる引数

login_name

変更する SQL Server ログインの名前を指定します。 Microsoft Entra ログインは、user@domainとして指定する必要があります。 たとえば、john.smith@contoso.com、Microsoft Entra グループまたはアプリケーション名などです。 Microsoft Entra ログインの場合、login_name は、master データベースに作成された既存の Microsoft Entra ログインに対応している必要があります。

ENABLE |無効にする

このログインを有効または無効にします。 ログインを無効にしても、既に接続されているログインの動作には影響しません。 (既存の接続を終了するには、KILL ステートメントを使用します)。無効なログインはアクセス許可を保持し、権限を借用することもできます。

DEFAULT_DATABASE = データベース

ログインに割り当てる既定のデータベースを指定します。

DEFAULT_LANGUAGE = 言語

ログインに割り当てる既定の言語を指定します。 すべての SQL Database ログインの既定の言語は英語であり、変更することはできません。 SQL Server on Linux での sa ログインの既定の言語は英語ですが、変更できます。

SQL ログインにのみ適用できる引数

PASSWORD = 'password'

SQL Server ログインにのみ適用されます。 変更するログインのパスワードを指定します。 パスワードでは大文字と小文字が区別されます。 パスワードは、Microsoft Entra ログインなどの外部ログインで使用する場合にも適用されません。

SQL Database への継続的にアクティブな接続には、少なくとも 10 時間ごとに (データベース エンジンによって実行される) 再認証が必要です。 データベース エンジンは、最初に送信されたパスワードを使用して再認証を試みますが、ユーザー入力は必要ありません。 パフォーマンス上の理由から、SQL Database でパスワードがリセットされると、接続プールによって接続がリセットされた場合でも、接続は再認証されません。 これは、オンプレミスの SQL Server の動作とは異なります。 接続が最初に承認されてからパスワードが変更された場合は、接続を終了し、新しいパスワードを使用して新しい接続を作成する必要があります。 KILL DATABASE CONNECTION 権限を持つユーザーは、KILL コマンドを使用して SQL Database への接続を明示的に終了できます。 詳細については、「KILL」を参照してください。

PASSWORD = hashed_password

HASHED キーワードにのみ適用されます。 作成するログインのパスワードのハッシュ値を指定します。

ハッシュ

SQL Server ログインにのみ適用されます。 PASSWORD 引数の後に入力されたパスワードが既にハッシュされていることを指定します。 このオプションが選択されていない場合、パスワードはデータベースに格納される前にハッシュされます。 このオプションは、2 つのサーバー間のログイン同期にのみ使用する必要があります。 パスワードを定期的に変更する場合は、HASHED オプションを使用しないでください。

OLD_PASSWORD = 'old_password'

SQL Server ログインにのみ適用されます。 新しいパスワードが割り当てられるログインの現在のパスワード。 パスワードでは大文字と小文字が区別されます。

MUST_CHANGE

SQL Server ログインにのみ適用されます。 このオプションが含まれている場合、変更されたログインが初めて使用されるときに、SQL Server によって更新されたパスワードの入力が求められます。

NAME = login_name

名前を変更するログインの新しい名前。 ログインが Windows ログインの場合、新しい名前に対応する Windows プリンシパルの SID は、SQL Server のログインに関連付けられている SID と一致する必要があります。 SQL Server ログインの新しい名前に円記号 (\) を含めることはできません。

CHECK_EXPIRATION = { ON |OFF }

SQL Server ログインにのみ適用されます。 このログインにパスワードの有効期限ポリシーを適用するかどうかを指定します。 既定値は OFF です。

CHECK_POLICY = { ON |OFF }

SQL Server ログインにのみ適用されます。 SQL Server が実行されているコンピューターの Windows パスワード ポリシーをこのログインに適用することを指定します。 既定値は ON です。

CREDENTIAL = credential_name

SQL Server ログインにマップする資格情報の名前。 資格情報はサーバーに既に存在している必要があります。 詳細については、「資格情報の」を参照してください。 資格情報を sa ログインにマップすることはできません。

資格情報なし

サーバー資格情報へのログインの既存のマッピングを削除します。 詳細については、「資格情報の」を参照してください。

アンロック

SQL Server ログインにのみ適用されます。 ロックアウトされたログインのロックを解除することを指定します。

資格情報の追加

拡張キー管理 (EKM) プロバイダーの資格情報をログインに追加します。 詳細については、「拡張キー管理 (EKM)を参照してください。

DROP CREDENTIAL

ログインから拡張キー管理 (EKM) プロバイダーの資格情報を削除します。 詳細については、「拡張キー管理 (EKM)を参照してください。

備考

CHECK_POLICYが ON に設定されている場合、HASHED 引数は使用できません。

CHECK_POLICYが ON に変更されると、次の動作が発生します。

  • パスワード履歴は、現在のパスワード ハッシュの値で初期化されます。

CHECK_POLICYが OFF に変更されると、次の動作が発生します。

  • CHECK_EXPIRATIONも OFF に設定されます。
  • パスワード履歴がクリアされます。
  • lockout_time の値がリセットされます。

MUST_CHANGEを指定する場合は、CHECK_EXPIRATIONとCHECK_POLICYを ON に設定する必要があります。 それ以外の場合、ステートメントは失敗します。

CHECK_POLICYが OFF に設定されている場合、CHECK_EXPIRATIONを ON に設定することはできません。 このオプションの組み合わせを持つ ALTER LOGIN ステートメントは失敗します。

DISABLE 引数と共に ALTER_LOGIN を使用して、Windows グループへのアクセスを拒否することはできません。 これは仕様です。 たとえば、[domain\group] をALTER_LOGINすると、DISABLE は次のエラー メッセージを返します。

"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission."

SQL Database では、接続とサーバー レベルのファイアウォール規則を認証するために必要なログイン データが、各データベースに一時的にキャッシュされます。 このキャッシュは定期的に更新されます。 認証キャッシュを強制的に更新し、データベースに最新バージョンのログイン テーブルがあることを確認するには、DBCC FLUSHAUTHCACHE実行します。

権限

ALTER ANY LOGIN 権限が必要です。

CREDENTIAL オプションを使用する場合は、ALTER ANY CREDENTIAL 権限も必要です。

変更中のログインが、固定サーバー ロール sysadmin のメンバーであるか、CONTROL SERVER 権限の権限付与対象ユーザーである場合は、次の変更を行うときにも CONTROL SERVER 権限が必要です。

  • 古いパスワードを指定せずにパスワードをリセットする。
  • MUST_CHANGE、CHECK_POLICY、またはCHECK_EXPIRATIONを有効にする。
  • ログイン名の変更。
  • ログインの有効化または無効化。
  • ログインを別の資格情報にマッピングします。

プリンシパルは、独自のログインのパスワード、既定の言語、および既定のデータベースを変更できます。

microsoft Entra ログインに対して ALTER LOGIN コマンドを実行できるのは、sysadmin 特権を持つ SQL プリンシパルだけです。

これらの例には、他の SQL 製品を使用する例も含まれます。 サポートされている前の引数を確認します。

ある。 無効なログインを有効にする

次の例では、ログイン Mary5を有効にします。

ALTER LOGIN Mary5 ENABLE;

B. ログインのパスワードを変更する

次の例では、ログイン Mary5 のパスワードを強力なパスワードに変更します。

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

C. ログインの名前を変更する

次の例では、ログイン Mary5 の名前を John2に変更します。

ALTER LOGIN Mary5 WITH NAME = John2;

D. ログインを資格情報にマップする

次の例では、ログイン John2 を資格情報 Custodian04にマップします。

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. 拡張キー管理資格情報へのログインのマップ

次の例では、ログイン Mary5 を EKM 資格情報 EKMProvider1にマップします。

: SQL Server 2008 (10.0.x) 以降、および Azure SQL Managed Instance に適用されます。

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

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

SQL Server ログインのロックを解除するには、次のステートメントを実行し、**** を目的のアカウント パスワードに置き換えます。

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

パスワードを変更せずにログインのロックを解除するには、チェック ポリシーをオフにしてから、もう一度オンにします。

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;

ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. HASHED を使用してログインのパスワードを変更する

次の例では、TestUser ログインのパスワードを既にハッシュされた値に変更します。

: SQL Server 2008 (10.0.x) 以降、および Azure SQL Managed Instance に適用されます。

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO

H. Microsoft Entra ユーザーのログインを無効にする

次の例では、Microsoft Entra ユーザーのログイン joe@contoso.com無効にします。

ALTER LOGIN [joe@contoso.com] DISABLE;
  • 資格情報 の
  • ログイン の作成を する
  • ログイン を削除する
  • CREATE CREDENTIAL の
  • EVENTDATA の
  • 拡張キー管理 (EKM)

SQL Server の

SQL Database の

SQL Managed Instance の

* Azure Synapse
分析 *

 

Azure Synapse Analytics

Azure Synapse の構文

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

<status_option> ::=
    ENABLE | DISABLE

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

引数

login_name

変更する SQL Server ログインの名前を指定します。 ドメイン ログインは、[domain\user] の形式で角かっこで囲む必要があります。

ENABLE |無効にする

このログインを有効または無効にします。 ログインを無効にしても、既に接続されているログインの動作には影響しません。 (既存の接続を終了するには、KILL ステートメントを使用します)。無効なログインはアクセス許可を保持し、権限を借用することもできます。

PASSWORD = 'password'

SQL Server ログインにのみ適用されます。 変更するログインのパスワードを指定します。 パスワードでは大文字と小文字が区別されます。

SQL Database への継続的にアクティブな接続には、少なくとも 10 時間ごとに (データベース エンジンによって実行される) 再認証が必要です。 データベース エンジンは、最初に送信されたパスワードを使用して再認証を試みますが、ユーザー入力は必要ありません。 パフォーマンス上の理由から、SQL Database でパスワードがリセットされると、接続プールによって接続がリセットされた場合でも、接続は再認証されません。 これは、オンプレミスの SQL Server の動作とは異なります。 接続が最初に承認されてからパスワードが変更された場合は、接続を終了し、新しいパスワードを使用して新しい接続を作成する必要があります。 KILL DATABASE CONNECTION 権限を持つユーザーは、KILL コマンドを使用して SQL Database への接続を明示的に終了できます。 詳細については、「KILL」を参照してください。

大事な

ログイン (または包含データベース ユーザー) が接続して認証されると、接続によってログインに関する ID 情報がキャッシュされます。 Windows 認証ログインの場合、これには Windows グループのメンバーシップに関する情報が含まれます。 ログインの ID は、接続が維持されている限り認証されたままになります。 パスワードのリセットや Windows グループ メンバーシップの変更など、ID の変更を強制するには、ログインを認証機関 (Windows または SQL Server) からサインアウトして、もう一度サインインする必要があります。 sysadmin 固定サーバー ロールのメンバー、または ALTER ANY CONNECTION アクセス許可を持つログインは、KILL コマンドを使用して接続を終了し、ログインを強制的に再接続できます。 SQL Server Management Studio では、オブジェクト エクスプローラーとクエリ エディター ウィンドウへの複数の接続を開くときに、接続情報を再利用できます。 すべての接続を閉じて、強制的に再接続します。

OLD_PASSWORD = 'old_password'

SQL Server ログインにのみ適用されます。 新しいパスワードが割り当てられるログインの現在のパスワード。 パスワードでは大文字と小文字が区別されます。

NAME = login_name

名前を変更するログインの新しい名前。 これが Windows ログインの場合、新しい名前に対応する Windows プリンシパルの SID は、SQL Server のログインに関連付けられている SID と一致する必要があります。 SQL Server ログインの新しい名前に円記号 (\) を含めることはできません。

備考

SQL Database では、接続とサーバー レベルのファイアウォール規則を認証するために必要なログイン データが、各データベースに一時的にキャッシュされます。 このキャッシュは定期的に更新されます。 認証キャッシュを強制的に更新し、データベースに最新バージョンのログイン テーブルがあることを確認するには、DBCC FLUSHAUTHCACHE実行します。

権限

ALTER ANY LOGIN 権限が必要です。

変更中のログインが、固定サーバー ロール sysadmin のメンバーであるか、CONTROL SERVER 権限の権限付与対象ユーザーである場合は、次の変更を行うときにも CONTROL SERVER 権限が必要です。

  • 古いパスワードを指定せずにパスワードをリセットする。
  • ログイン名の変更。
  • ログインの有効化または無効化。
  • ログインを別の資格情報にマッピングします。

プリンシパルは、独自のログインのパスワードを変更できます。

これらの例には、他の SQL 製品を使用する例も含まれます。 サポートされている前の引数を確認します。

ある。 無効なログインを有効にする

次の例では、ログイン Mary5を有効にします。

ALTER LOGIN Mary5 ENABLE;

B. ログインのパスワードを変更する

次の例では、ログイン Mary5 のパスワードを強力なパスワードに変更します。

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

C. ログインの名前を変更する

次の例では、ログイン Mary5 の名前を John2に変更します。

ALTER LOGIN Mary5 WITH NAME = John2;

D. ログインを資格情報にマップする

次の例では、ログイン John2 を資格情報 Custodian04にマップします。

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. 拡張キー管理資格情報へのログインのマップ

次の例では、ログイン Mary5 を EKM 資格情報 EKMProvider1にマップします。

: SQL Server 2008 (10.0.x) 以降に適用されます。

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

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

SQL Server ログインのロックを解除するには、次のステートメントを実行し、**** を目的のアカウント パスワードに置き換えます。

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

G. HASHED を使用してログインのパスワードを変更する

次の例では、TestUser ログインのパスワードを既にハッシュされた値に変更します。

: SQL Server 2008 (10.0.x) 以降に適用されます。

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
  • 資格情報 の
  • ログイン の作成を する
  • ログイン を削除する
  • CREATE CREDENTIAL の
  • EVENTDATA の
  • 拡張キー管理 (EKM)

SQL Server の

SQL Database の

SQL Managed Instance の

Azure Synapse の
分析

* Analytics
プラットフォーム システム (PDW) *

 

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

Analytics プラットフォーム システムの構文

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

引数

login_name

変更する SQL Server ログインの名前を指定します。 ドメイン ログインは、[domain\user] の形式で角かっこで囲む必要があります。

ENABLE |無効にする

このログインを有効または無効にします。 ログインを無効にしても、既に接続されているログインの動作には影響しません。 (既存の接続を終了するには、KILL ステートメントを使用します)。無効なログインはアクセス許可を保持し、権限を借用することもできます。

PASSWORD = 'password'

SQL Server ログインにのみ適用されます。 変更するログインのパスワードを指定します。 パスワードでは大文字と小文字が区別されます。

大事な

ログイン (または包含データベース ユーザー) が接続して認証されると、接続によってログインに関する ID 情報がキャッシュされます。 Windows 認証ログインの場合、これには Windows グループのメンバーシップに関する情報が含まれます。 ログインの ID は、接続が維持されている限り認証されたままになります。 パスワードのリセットや Windows グループ メンバーシップの変更など、ID の変更を強制するには、ログインを認証機関 (Windows または SQL Server) からサインアウトして、もう一度サインインする必要があります。 sysadmin 固定サーバー ロールのメンバー、または ALTER ANY CONNECTION アクセス許可を持つログインは、KILL コマンドを使用して接続を終了し、ログインを強制的に再接続できます。 SQL Server Management Studio では、オブジェクト エクスプローラーとクエリ エディター ウィンドウへの複数の接続を開くときに、接続情報を再利用できます。 すべての接続を閉じて、強制的に再接続します。

OLD_PASSWORD = 'old_password'

SQL Server ログインにのみ適用されます。 新しいパスワードが割り当てられるログインの現在のパスワード。 パスワードでは大文字と小文字が区別されます。

MUST_CHANGE

SQL Server ログインにのみ適用されます。 このオプションが含まれている場合、変更されたログインが初めて使用されるときに、SQL Server によって更新されたパスワードの入力が求められます。

NAME = login_name

名前を変更するログインの新しい名前。 ログインが Windows ログインの場合、新しい名前に対応する Windows プリンシパルの SID は、SQL Server のログインに関連付けられている SID と一致する必要があります。 SQL Server ログインの新しい名前に円記号 (\) を含めることはできません。

CHECK_EXPIRATION = { ON |OFF }

SQL Server ログインにのみ適用されます。 このログインにパスワードの有効期限ポリシーを適用するかどうかを指定します。 既定値は OFF です。

CHECK_POLICY = { ON |OFF }

SQL Server ログインにのみ適用されます。 SQL Server が実行されているコンピューターの Windows パスワード ポリシーをこのログインに適用することを指定します。 既定値は ON です。

アンロック

SQL Server ログインにのみ適用されます。 ロックアウトされたログインのロックを解除することを指定します。

備考

CHECK_POLICYが ON に設定されている場合、HASHED 引数は使用できません。

CHECK_POLICYが ON に変更されると、次の動作が発生します。

  • パスワード履歴は、現在のパスワード ハッシュの値で初期化されます。

CHECK_POLICYが OFF に変更されると、次の動作が発生します。

  • CHECK_EXPIRATIONも OFF に設定されます。
  • パスワード履歴がクリアされます。
  • lockout_time の値がリセットされます。

MUST_CHANGEを指定する場合は、CHECK_EXPIRATIONとCHECK_POLICYを ON に設定する必要があります。 それ以外の場合、ステートメントは失敗します。

CHECK_POLICYが OFF に設定されている場合、CHECK_EXPIRATIONを ON に設定することはできません。 このオプションの組み合わせを持つ ALTER LOGIN ステートメントは失敗します。

DISABLE 引数と共に ALTER_LOGIN を使用して、Windows グループへのアクセスを拒否することはできません。 これは仕様です。 たとえば、[domain\group] をALTER_LOGINすると、DISABLE は次のエラー メッセージを返します。

"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission."

SQL Database では、接続とサーバー レベルのファイアウォール規則を認証するために必要なログイン データが、各データベースに一時的にキャッシュされます。 このキャッシュは定期的に更新されます。 認証キャッシュを強制的に更新し、データベースに最新バージョンのログイン テーブルがあることを確認するには、DBCC FLUSHAUTHCACHE実行します。

権限

ALTER ANY LOGIN 権限が必要です。

CREDENTIAL オプションを使用する場合は、ALTER ANY CREDENTIAL 権限も必要です。

変更中のログインが、固定サーバー ロール sysadmin のメンバーであるか、CONTROL SERVER 権限の権限付与対象ユーザーである場合は、次の変更を行うときにも CONTROL SERVER 権限が必要です。

  • 古いパスワードを指定せずにパスワードをリセットする。
  • MUST_CHANGE、CHECK_POLICY、またはCHECK_EXPIRATIONを有効にする。
  • ログイン名の変更。
  • ログインの有効化または無効化。
  • ログインを別の資格情報にマッピングします。

プリンシパルは、独自のログインのパスワード、既定の言語、および既定のデータベースを変更できます。

これらの例には、他の SQL 製品を使用する例も含まれます。 サポートされている前の引数を確認します。

ある。 無効なログインを有効にする

次の例では、ログイン Mary5を有効にします。

ALTER LOGIN Mary5 ENABLE;

B. ログインのパスワードを変更する

次の例では、ログイン Mary5 のパスワードを強力なパスワードに変更します。

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

C. ログインの名前を変更する

次の例では、ログイン Mary5 の名前を John2に変更します。

ALTER LOGIN Mary5 WITH NAME = John2;

D. ログインを資格情報にマップする

次の例では、ログイン John2 を資格情報 Custodian04にマップします。

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. 拡張キー管理資格情報へのログインのマップ

次の例では、ログイン Mary5 を EKM 資格情報 EKMProvider1にマップします。

: SQL Server 2008 (10.0.x) 以降に適用されます。

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

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

SQL Server ログインのロックを解除するには、次のステートメントを実行し、**** を目的のアカウント パスワードに置き換えます。

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

パスワードを変更せずにログインのロックを解除するには、チェック ポリシーをオフにしてから、もう一度オンにします。

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;

ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. HASHED を使用してログインのパスワードを変更する

次の例では、TestUser ログインのパスワードを既にハッシュされた値に変更します。

: SQL Server 2008 (10.0.x) 以降に適用されます。

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
  • 資格情報 の
  • ログイン の作成を する
  • ログイン を削除する
  • CREATE CREDENTIAL の
  • EVENTDATA の
  • 拡張キー管理 (EKM)