次の方法で共有


LOGINPROPERTY (Transact-SQL)

適用対象: SQL Server Azure SQL Managed Instance

ログインのポリシー設定に関する情報を返します。

Transact-SQL 構文表記規則

構文

LOGINPROPERTY ( 'login_name' , 'property_name' )  

引数

login_name
ログイン プロパティの状態が返される SQL Server ログインの名前です。

propertyname
ログインに返されるプロパティ情報を含む式を指定します。 propertyname 値は次のいずれかを指定することができます。

説明
BadPasswordCount 正しくないパスワードで連続してログインが試行された回数を返します。
BadPasswordTime 正しくないパスワードで最後にログインが試行された時刻を返します。
DaysUntilExpiration パスワードの有効期限が切れるまでの日数を返します。
DefaultDatabase データベースが指定されていない場合に、メタデータまたは master に格納されている SQL Server ログインの既定のデータベースを返します。 SQL Server 以外でプロビジョニングされているユーザーの場合は NULL を返します (Windows 認証ユーザーなど)。
DefaultLanguage メタデータに格納されているログインの既定の言語を返します。 SQL Server 以外でプロビジョニングされているユーザーの場合は NULL を返します (Windows 認証ユーザーなど)。
HistoryLength パスワード ポリシーの適用メカニズムを使用して、追跡されたログインのパスワードの数を返します。 パスワード ポリシーが適用されていない場合は 0 です。 パスワード ポリシーの適用は 1 から再開されます。
IsExpired ログイン パスワードの期限が切れているかどうかを示します。
IsLocked ログインがロックされているかどうかを示します。
IsMustChange 次回の接続時にログイン パスワードを変更する必要があるかどうかを示します。
LockoutTime SQL Server ログインが、ログイン試行に許容される失敗の回数を超えたためロックアウトされた日付を返します。
PasswordHash パスワードのハッシュを返します。
PasswordLastSetTime 現在のパスワードが設定された日付を返します。
PasswordHashAlgorithm パスワードのハッシュに使用されるアルゴリズムを返します。

戻り値

データ型は、要求する値によって異なります。

IsLockedIsExpiredIsMustChangeint 型です。

  • ログインが指定した状態の場合は 1 です。

  • ログインが指定した状態でない場合は 0 です。

BadPasswordCount および HistoryLengthint 型です。

BadPasswordTimeLockoutTimePasswordLastSetTimedatetime 型です。

PasswordHashvarbinary 型です。

ログインが有効な SQL Server ログインでない場合は NULL です。

DaysUntilExpirationint 型です。

  • ログインの有効期限が切れているか、照会した当日に有効期限が切れる場合は 0 です。

  • Windows のローカル セキュリティ ポリシーでパスワードを無期限にしている場合は -1 です。

  • ログインに対して CHECK_POLICY または CHECK_EXPIRATION が OFF であるか、オペレーティング システムがパスワード ポリシーをサポートしていない場合は NULL です。

PasswordHashAlgorithm は int 型です。

  • SQL7.0 ハッシュの場合は 0

  • SHA-1 ハッシュの場合は 1

  • SHA-2 ハッシュの場合は 2

  • ログインが有効な SQL Server ログインでない場合は NULL

解説

この組み込み関数では、SQL Server ログインのパスワード ポリシー設定に関する情報が返されます。 プロパティの名前の大文字と小文字は区別されません。したがって、BadPasswordCountbadpasswordcount は同じ意味です。 PasswordHash、PasswordHashAlgorithm、および PasswordLastSetTime プロパティの値は、SQL Server のサポート対象の全構成で使用できますが、その他のプロパティは、SQL Server が Windows Server 2003 で実行され、CHECK_POLICY と CHECK_EXPIRATION の両方が有効な場合にのみ使用できます。 詳細については、「 Password Policy」をご参照ください。

アクセス許可

ログインに対する VIEW 権限が必要です。 パスワードのハッシュを要求する場合、CONTROL SERVER 権限も必要です。

A. ログインがパスワードを変更する必要があるかどうかを確認する

次の例では、SQL Server ログイン John3 が、次回 SQL Server インスタンスに接続するときにパスワードを変更する必要があるかどうかを確認します。

SELECT LOGINPROPERTY('John3', 'IsMustChange');  
GO  

B. ログインがロックアウトされているかどうかを確認する

次の例では、SQL Server ログイン John3 がロックされているかどうかを確認します。

SELECT LOGINPROPERTY('John3', 'IsLocked');  
GO  

参照

CREATE LOGIN (Transact-SQL)
sys.server_principals (Transact-SQL)