如果您正在搜索SQL Server SA(SYS Admin)密码和策略执行,则此帖子可能会为您提供帮助。
SQL Server可以使用Windows密码策略机制。密码策略适用于使用SQL Server身份验证和包含密码的数据库用户的登录名。
SQL Server可以将Windows中使用的相同复杂性和到期政策应用于SQL Server中使用的密码。此功能取决于NetValidatePasswordPolicy
API。
注意:SQL数据库执行密码复杂性。密码到期和策略执行部分不适用于SQL数据库。
密码复杂性
密码复杂性策略旨在通过增加可能的密码组合数量来阻止蛮力攻击。执行密码复杂性策略时,新密码必须符合以下准则:
- 密码不包含用户的帐户名。
- 密码至少八个字符长。
- 密码包含以下四个类别中的三个字符:
- 拉丁大写字母(A到Z)
- 拉丁小写字母(A到Z)
- 基本10位(0至9)
- 非字符的字符,例如感叹号(!),美元符号($),数字符号(#)或百分比(%)。
密码最多可以长128个字符。使用尽可能长而复杂的密码。
密码到期
密码到期政策用于管理密码的寿命。当SQL Server执行密码到期策略时,提醒用户更改旧密码,并禁用已过期密码的帐户。
密码可能是服务器安全部署中最弱的链接。选择密码时要小心。强密码具有以下特征:
- 至少八个字符长。
- 在密码中结合字母,数字和符号字符。
- 在词典中找不到。
- 不是命令的名称。
- 不是一个人的名字。
- 不是用户的名称。
- 不是计算机的名称。
- 定期更改。
- 与以前的密码不同。
Microsoft SQL Server密码最多包含128个字符,包括字母,符号和数字。由于登录,用户名,角色和密码经常在Transact-SQL语句中使用,因此某些符号必须由双引号标记(“)或方括号([])包含。
- 包含或以空间字符开始。
- 从$或 @ carame开始。
如果在OLE DB或ODBC连接字符串中使用,则登录或密码不得包含以下字符:
(),; ? *! @ =。这些字符用于初始化连接或单独的连接值。参见:
SQL Server 2019系统需求 - 硬件和软件预处理
- 请勿使用以下禁止条件或条款:
- 当前登录的用户的名称
- 密码字段不能为空白或null
- 密码
- 行政
- 行政人员
- 在
- Sysadmin
- 不要使用以下术语:
- 非α数字字符;例如,#,%或 ^
- 计算机名称
- 包含大写字母
- 小写字母
- 数字
强密码的长度必须超过8个字符,并且满足以下四个标准中的至少三个:
删除密码要求
- 开始>管理工具>本地安全策略扩展帐户策略>密码策略另一个选择是在SQL Server安装期间删除强密码要求。导航到
- 。密码必须满足复杂性要求右键单击在
- 好的。选择属性>禁用然后单击
。
更改登录(Transact-SQL)政策执法密码策略执行可以为每个SQL Server登录单独配置。使用
- 还启用了。
- 配置SQL Server登录的密码策略选项。以下规则适用于密码策略执行的配置:
- 除非明确设置为OFF,否则还将Check_Expiration设置为ON。
- 密码历史记录以当前密码哈希的值初始化。重置帐户锁定计数器之后帐户锁定持续时间,,,,帐户锁定门槛和
- 重置。
- 当Check_policy更改为ON时,会发生以下行为:
- check_expiration也设置为关闭。
- 密码历史记录已清除。
lockout_time
价值
当Check_policy更改为OFF时,会发生以下行为:
- 不支持政策选择的一些组合。
- 如果指定了MUST_CHANGE,则必须将CHECK_EXPIRATION和CHECK_POLICY设置为ON。否则,该语句失败。
- 以下任何一个:“密码”,“管理员”,“管理员”,“ SA”,“ sysadmin”
- 如果将Check_Policy设置为关闭,则无法将Check_Expiration设置为ON。具有此选项组合的Alter登录语句将失败。
- 空或空
- 与计算机名称或登录名相同
secpol.msc设置check_policy = on可以防止创建密码:安全策略可以在Windows中设置或从域接收。要查看计算机上的密码策略,请使用本地安全策略MMC SNAP-IN(