在SQL Server中,权限的分配很重要。特别是在用户数量众多的数据库里面,用户权限,架构的划分经常会导致权限之间的冲突,导致无法登陆,下面就是一例。 用系统administrators可以登录,在安全性用户列表中,修改”sa”属性时系统提示: 属性IsLocked不可用于登录”[sa]。该对像可能没有此属性,也可能是访问权限不足而无法检索。
(Microsoft。SqlServer。Smo),但新建一个dba用户可以登陆,不过要去掉强制实施密码策略,强制密码过期选择才行。 sa 也不能删除也不能修改属性。
感觉sa就被锁住了一样,查看了一下系统字典表s……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
![TechTarget微信公众号二维码](/wp-content/uploads/res/images/spriteimg/ttweixin.jpg)
TechTarget
官方微博
![TechTarget中国官方微博二维码](/wp-content/uploads/res/images/spriteimg/ttweibo.jpg)
TechTarget中国
在SQL Server中,权限的分配很重要。特别是在用户数量众多的数据库里面,用户权限,架构的划分经常会导致权限之间的冲突,导致无法登陆,下面就是一例。
用系统administrators可以登录,在安全性用户列表中,修改"sa"属性时系统提示: 属性IsLocked不可用于登录"[sa]。该对像可能没有此属性,也可能是访问权限不足而无法检索。(Microsoft。SqlServer。Smo),但新建一个dba用户可以登陆,不过要去掉强制实施密码策略,强制密码过期选择才行。 sa 也不能删除也不能修改属性。 感觉sa就被锁住了一样,查看了一下系统字典表syslogins也没有发现什么不同。 最后在SQL Server 2005联机丛书查看帮助,有了一些启发。
在 Windows Server 2003或更高版本环境下运行SQL Server 2005时,可以使用Windows密码策略机制,特别是目前各地市在做安检和系统策略加固,最容易发生此故障。
SQL Server 2005 可以将Windows Server 2003中使用的复杂性策略和过期策略应用于SQL Server内部使用的密码。这项功能需要通过NetValidatePasswordPolicy() API实现,该API只在Windows Server 2003和更高版本中提供。
密码复杂性
密码复杂性策略通过增加可能密码的数量来阻止强力攻击。实施密码复杂性策略时,新密码必须符合以下原则。
密码不得包含全部或“部分”用户帐户名。部分帐户名是指三个或三个以上两端用“空白”(空格、制表符、回车符等)或任何以下字符分隔的连续字母数字字符: - _ #
密码长度至少为六个字符。
密码包含以下四类字符中的三类:
- 英文大写字母 (A - Z)
- 英文小写字母 (a - z)
- 十个基本数字 (0 - 9)
- 非字母数字(例如:!、$、# 或 %)
密码过期
密码过期策略用于管理密码的使用期限。如果选中了密码过期策略,则系统将提醒用户更改旧密码和帐户,并禁用过期的密码。
策略实施
密码策略是针对各个登录名实施的。使用 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 语句将失败。
最后在查询分析器执行以下语句就可以了。
alter login sa with password = 'newpwd' unlock, check_policy = off, check_expiration = off
关于作者:吴炫国,多年丰富的IT系统运维经验,专注硬件、服务器、数据库等领域。对虚拟化技术有独到见解,并担任TechTarget中国虚拟化论坛版主。
相关推荐
-
SQL Server 2005支持服务结束 升级何去何从
SQL Server 2005的支持就要结束了,就在2016年4月12日,SQL Server 2005的客户们应该升级了。
-
SQL Server 2005即将终止服务 你准备好了么?
2016年4月12日,微软将正式终止SQL Server 2005相关服务。微软正在终止扩展支持,这意味着不再有新特性更新,什么都没了。
-
TT数据库特别推荐:SQL Server编年史
无论是菜鸟还是资深DBA,除了要掌握基本的数据库管理、操作之外,还需要对不同产品的发展历史有一个了解。
-
通过存储过程建立灵活的SQL计划任务
在SQL Server 2005里我们可以直接建立计划任务,但是有时候我们又希望这计划任务灵活些,因此可以使用存储过程来建立计划任务。