LOGINPROPERTY (Transact-SQL)
適用於:SQL Server Azure SQL 受控執行個體
傳回有關登入原則設定的詳細資訊。
語法
LOGINPROPERTY ( 'login_name' , 'property_name' )
引數
login_name
這是要傳回登入屬性狀態之 SQL Server 登入的名稱。
propertyname
這是包含為登入傳回之屬性資訊的運算式。 propertyname 可以是下列值之一。
值 | 描述 |
---|---|
BadPasswordCount | 傳回連續使用錯誤密碼嘗試登入的次數。 |
BadPasswordTime | 傳回上一次使用錯誤密碼嘗試登入的時間。 |
DaysUntilExpiration | 傳回密碼到期之前的剩餘天數。 |
DefaultDatabase | 傳回儲存在中繼資料中的 SQL Server 登入預設資料庫 (在未指定任何資料庫的情況下,則為 master)。 針對非 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)