“无法打开用户默认数据库。登录失败”解决
用户在新建登录名过程中,如果只用下列语句创建
create Login Newuser
with password = 'password' must_change,
default_database = YSAQJC,
check_expiration=on,
check_policy=on
上述语句中对CHECK_POLICY ,CHECK_EXPIRATION 的解释文档借鉴于SQL 2005的帮助文档
密码策略是针对各个登录名实施的。使用 ALTER LOGIN 可以配置策略应用程序。配置密码策略实施时,适用以下规则。
当 CHECK_POLICY 更改为 ON 时:
除非将 CHECK_EXPIRATION 显式设置为 OFF,否则也会将其设置为 ON
密码历史使用当前的密码哈希值初始化。
当 CHECK_POLICY 更改为 OFF 时:
CHECK_EXPIRATION 也设置为 OFF。
清除密码历史。
lockout_time 的值被重置。
如果指定 MUST_CHANGE,则 CHECK_EXPIRATION 和 CHECK_POLICY 必须设置为 ON。否则,该语句将失败。
如果 CHECK_POLICY 设置为 OFF,则 CHECK_EXPIRATION 不能设置为 ON。包含此选项组合的 ALTER LOGIN 语句将失败。
结果测试CHECK_EXPIRATION只要设置成ON即可创建该用户,看来帮助文档只能用来参考,具体还是个人的实践为真理
在界面登录过程中填写完修改的用户名密码后会出现标题中的错误。
结果用sa登录进去查看刚才新建的登录名Newuser,需要以管理员身份为该用户开设针对默认登录数据库的用户映射,具体方法在用户属性中设置如下图:
如果需要对该数据库内部进行操作,还需开辟角色权限,本文只针对标题错误做解决
如果帐号在登录次数超过系统设置次数而未正常登录,该帐号将被锁定,通过以下的语句重新允许该帐号的登录
ALTER LOGIN Newuser WITH PASSWORD = 'password' UNLOCK
浙公网安备 33010602011771号