LOGINPROPERTY (Transact-SQL)
ログインのポリシー設定に関する情報を返します。
構文
LOGINPROPERTY ( 'login_name' , 'property_name' )
引数
login_name.
ログイン プロパティの状態を返す SQL Server ログインの名前を指定します。propertyname
ログインに返されるプロパティ情報を含む式を指定します。propertyname には、次のいずれかの値を指定できます。値
説明
BadPasswordCount
正しくないパスワードで連続してログインが試行された回数を返します。
BadPasswordTime
正しくないパスワードで最後にログインが試行された時刻を返します。
DaysUntilExpiration
パスワードの有効期限が切れるまでの日数を返します。
DefaultDatabase
データベースが指定されていない場合に、メタデータまたは master に格納されている SQL Server ログインの既定のデータベースを返します。Windows 認証ユーザーなど、SQL Server 以外で提供されるユーザーの場合は NULL を返します。
DefaultLanguage
メタデータに格納されているログインの既定の言語を返します。Windows 認証ユーザーなど、SQL Server 以外で提供されるユーザーの場合は NULL を返します。
HistoryLength
パスワード ポリシーの適用メカニズムを使用して、ログインで追跡されたパスワードの数を返します。パスワード ポリシーを適用しない場合は 0 です。1 で、パスワード ポリシーの適用が再開されます。
IsExpired
ログインの有効期限が切れたかどうかを示す情報を返します。
IsLocked
ログインがロックされているかどうかを示す情報を返します。
IsMustChange
ログインが次回の接続時にパスワードを変更する必要があるかどうかを示す情報を返します。
LockoutTime
SQL Server ログインが、ログイン試行に許容される失敗の回数を超えたためロックアウトされた日付を返します。
PasswordHash
パスワードのハッシュを返します。
PasswordLastSetTime
現在のパスワードが設定された日付を返します。
戻り値
データ型は、要求する値によって異なります。
IsLocked、IsExpired、および IsMustChange は int 型です。
ログインが指定した状態の場合は 1 です。
ログインが指定した状態でない場合は 0 です。
BadPasswordCount および HistoryLength は int 型です。
BadPasswordTime、LockoutTime、および PasswordLastSetTime は datetime 型です。
PasswordHash は varbinary 型です。
ログインが有効な SQL Server ログインでない場合は NULL です。
DaysUntilExpiration は int 型です。
ログインの有効期限が切れているか、照会した当日に有効期限が切れる場合は 0 です。
Windows のローカル セキュリティ ポリシーでパスワードを無期限にしている場合は -1 です。
ログインに対して CHECK_POLICY または CHECK_EXPIRATION が OFF であるか、オペレーティング システムがパスワード ポリシーをサポートしていない場合は NULL です。
説明
この組み込み関数では、SQL Server ログインのパスワード ポリシー設定に関する情報が返されます。プロパティの名前の大文字と小文字は区別されません。したがって、BadPasswordCount と badpasswordcount は同じ意味です。PasswordHash プロパティと PasswordLastSetTime プロパティの値は、SQL Server のサポート対象の全構成で使用できますが、その他のプロパティは、SQL Server が Windows Server 2003 で実行され、CHECK_POLICY と CHECK_EXPIRATION の両方が有効な場合にのみ使用できます。詳細については、「パスワード ポリシー」を参照してください。
権限
ログインに対する VIEW 権限が必要です。パスワードのハッシュを要求する場合、CONTROL SERVER 権限も必要です。
使用例
A. ログインがパスワードを変更する必要があるかどうかを確認する
次の例では、SQL Server ログイン John3 が、次回 SQL Server インスタンスに接続するときにパスワードを変更する必要があるかどうかを確認します。
SELECT LOGINPROPERTY('John3', 'IsMustChange');
GO
B. ログインがロックアウトされているかどうかを確認する
次の例では、SQL Server ログイン John3 がロックされているかどうかを確認します。
SELECT LOGINPROPERTY('John3', 'IsLocked');
GO