SQLSERVER sa 账号被锁定
修改公司云服务器 SQLSERVER 密码时,不小心打上那个强制实施密码策略,然后就扑街了; 说 sa 账号被锁定;更加扑街的是 本机的管理员账号 没有加到 登录名 里面,使用 本机账号也登陆不了; 停止SQLSERVER服务, ?? 打开另外一个dos窗口, ? ?sqlcmd -E ? 连接上单用户模式运行的SQLSERVER实例 输入, ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITH PASSWORD = 'hello.world' unlock,check_policy = off,check_expiration = off ; GO 文章来源:??http://www.cnblogs.com/wfwup/archive/2009/04/29/1445898.html ? 这两个问题后来被证实其实是一个原因造成的。其实这和操作系统有关系,在SQL SERVER的联机丛书里得到一些启发,大致就是,当在Windows Server 2003或更高版本环境下运行SQL Server 2005时,可以使用Windows 密码策略机制,可以将 Windows Server 2003 中使用复杂性策略和过期策略应用于SQL Server 内部使用的密码。这项功能需要通过 NetValidatePasswordPolicy() API 实现,该 API 只在 Windows Server 2003 和更高版本中提供。下面是一些详细情况: 密码复杂性要求 密码复杂性策略通过增加可能密码的数量来阻止强力攻击。实施密码复杂性策略时,新密码必须符合以下原则:
密码过期 密码过期策略用于管理密码的使用期限。如果选中了密码过期策略,则系统将提醒用户更改旧密码和帐户,并禁用过期的密码。 策略实施 密码策略是针对各个登录名实施的。使用 ALTER LOGIN 语句可以配置策略应用程序。配置密码策略实施时,适用以下规则:
在安装SQL SERVER时,默认启用了这样的策略,而我当时输入的sa密码又很简单(不满足密码复杂性要求),因此登陆时这些复杂的策略就禁止了登录过程。同时也就导致了我不能修改sa用户的信息(被自动锁定)。明白了这个原理,再结合查到的一些资料,用如下T-SQL语句即可解决这个问题: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |