LOGINPROPERTY (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
ログインのポリシー設定に関する情報を返します。
構文
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 | パスワードのハッシュに使用されるアルゴリズムを返します。 |
戻り値
データ型は、要求する値によって異なります。
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 です。
PasswordHashAlgorithm は int 型です。
SQL7.0 ハッシュの場合は 0
SHA-1 ハッシュの場合は 1
SHA-2 ハッシュの場合は 2
ログインが有効な SQL Server ログインでない場合は NULL
解説
この組み込み関数では、SQL Server ログインのパスワード ポリシー設定に関する情報が返されます。 プロパティの名前の大文字と小文字は区別されません。したがって、BadPasswordCount と badpasswordcount は同じ意味です。 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)