密碼原則

適用範圍: 是SQL Server (所有支援的版本)

SQL Server 可以使用 Windows 密碼原則機制。 密碼原則適用於使用 SQL Server 驗證的登入,以及適用於具有密碼的自主資料庫使用者。

SQL Server 可將 Windows 所使用的相同複雜性和到期原則套用於 SQL Server內部使用的密碼。 這項功能取決於 NetValidatePasswordPolicy API。

注意

SQL Database 會強制執行密碼複雜性。 密碼到期和原則強制執行區段不會套用到 SQL Database。

密碼複雜性

密碼複雜性原則是為了阻止暴力攻擊而設計,方法是盡可能地增加密碼數目。 當強制執行密碼複雜性原則時,新的密碼必須符合下列指導方針:

  • 密碼不包含使用者的帳戶名稱。

  • 密碼長度至少為八個字元。

  • 密碼包含下列四種類別的其中三種:

    • 拉丁文大寫字母 (A 到 Z)。

    • 拉丁文小寫字母 (a 到 z)。

    • 以 10 為基底的數字 (0 到 9)。

    • 非英數字元,例如:驚嘆號 (!)、錢幣符號 ($)、數字符號 (#) 或百分比符號 (%)。

密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。

密碼過期

密碼過期原則用於管理密碼的壽命。 當 SQL Server 強制執行密碼到期原則時,系統會提醒使用者變更舊密碼和停用有過期密碼的帳戶。

原則強制執行

可個別對每一個 SQL Server 登入設定密碼原則的強制執行。 使用 ALTER LOGIN (Transact-SQL) 來設定 SQL Server 登入的密碼原則選項。 下列規則會套用至密碼原則強制執行的組態:

  • 當 CHECK_POLICY 改為 ON 時,會發生下列行為:

    • CHECK_EXPIRATION 也會設為 ON,除非它已明確設為 OFF。

    • 密碼記錄會使用目前密碼雜湊的值來初始化。

    • [帳戶鎖定期間]、[帳戶鎖定閾值] 和 [重設帳戶鎖定計數器的時間] 也會啟用。

  • 當 CHECK_POLICY 改為 OFF 時,會發生下列行為:

    • CHECK_EXPIRATION 也會設為 OFF。

    • 會清除密碼記錄。

    • 會重設 lockout_time 的值。

有些原則選項組合不受支援。

  • 如果指定 MUST_CHANGE,則 CHECK_EXPIRATION 和 CHECK_POLICY 必須設為 ON。 否則,陳述式會失敗。

  • 如果 CHECK_POLICY 設為 OFF,CHECK_EXPIRATION 就不可設為 ON。 具有這些選項組合的 ALTER LOGIN 陳述式會失敗。

  • 設定 CHECK_POLICY = ON 可防止建立下列類型的密碼:

    • Null 或空白

    • 與電腦或登入名稱相同

    • 下列其中之一:"password"、"admin"、"administrator"、"sa"、"sysadmin"

安全性原則可能是在 Windows 中設定的,也可能是從網域收到的。 若要檢視電腦上的密碼原則,請使用 [本機安全性原則] MMC 嵌入式管理單元 (secpol.msc)。

CREATE LOGIN (Transact-SQL)

ALTER LOGIN (Transact-SQL)

CREATE USER (Transact-SQL)

ALTER USER (Transact-SQL)

建立登入

建立資料庫使用者

增強式密碼