“无法打开用户默认数据库。登录失败”解决

用户在新建登录名过程中,如果只用下列语句创建

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

 

posted @ 2007-07-10 19:30  憋大招的cat  阅读(7660)  评论(0)    收藏  举报