用windows域用户登录,执行这一句: alter login sa with password = 'newpwd' unlock, check_policy = off, check_expiration = off 原因: 用系统\administrators可以登录,在安全性用户列表中,修改sa属性时系统提示: 属性IsLocked不可用于登录"[sa].该对像可能没有此属性,也可能是访问权限不足而无法检索.(Microsoft.SqlServer.Smo),但新建一个dba用户可以登陆,不过要去掉强制实施密码策略,强制密码过期选择才行. sa 也不能删除也不能修改属性. 感觉sa就被锁住了一样,查看了一下系统字典表syslogins也没有发现什么不同. 最后在SQL Server 2005 联机丛书查看帮助,有了一些启发. 关键字 密码策略
SQL Server 2005 可以将 Windows Server 2003 中使用的复杂性策略和过期策略应用于 SQL Server 内部使用的密码。这项功能需要通过 NetValidatePasswordPolicy() API 实现,该 API 只在 Windows Server 2003 和更高版本中提供。 密码复杂性 密码不得包含全部或“部分”用户帐户名。部分帐户名是指三个或三个以上两端用“空白”(空格、制表符、回车符等)或任何以下字符分隔的连续字母数字字符: - _ #
策略实施 当 CHECK_POLICY 更改为 ON 时: 除非将 CHECK_EXPIRATION 显式设置为 OFF,否则也会将其设置为 ON。 CHECK_EXPIRATION 也设置为 OFF。 如果 CHECK_POLICY 设置为 OFF,则 CHECK_EXPIRATION 不能设置为 ON。包含此选项组合的 ALTER LOGIN 语句将失败。 |