SQL Server 2005 sa 用户被锁定的问题
Sql Server 2005我也不是没用过,在XP下安装过几次了都好好的,这次在Server 2003下按同样的方式装上后却发现有了几个问题。经过一番努力终于解决了,下面说一下过程~
问题一:无法使用sa用户登录,提示:“登录失败”,也没有进一步的说明了。。。
问题二:用Windows账户能够登录“对象资源管理器”,但无法打开sa用户的属性,提示:“属性IsLocked不可用于登录"[sa].该对像可能没有此属性,也可能是访问权限不足而无法检索.(Microsoft.SqlServer.Smo)”,同样也不能删除。
这两个问题后来被证实其实是一个原因造成的。其实这和操作系统有关系,在SQL SERVER的联机丛书里得到一些启发,大致就是,当在Windows Server 2003或更高版本环境下运行SQL Server 2005时,可以使用Windows 密码策略机制,可以将 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 语句将失败。
在安装SQL SERVER时,默认启用了这样的策略,而我当时输入的sa密码又很简单(不满足密码复杂性要求),因此登陆时这些复杂的策略就禁止了登录过程。同时也就导致了我不能修改sa用户的信息(被自动锁定)。明白了这个原理,再结合查到的一些资料,用如下T-SQL语句即可解决这个问题:
用WINDOWS账户登录查询分析器,输入一下语句并执行:
ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '' unlock, check_policy = off, check_expiration = off ;
GO
完成后,重新启动SQL SERVER服务,即可正常使用sa账户了。
P.S:还有个小问题,就是在新建数据库时,如果都按默认值,会出错,说“默认值无效”。后来发现这个必需在建立数据库对话框中左边的选项里手工修改“排序规则”。一般用China_PRC_CI_AS即可。
分享到:
相关推荐
### SQL2005 解除用户锁定的方法 在SQL Server 2005环境中,管理员可能会遇到用户账户被锁定的情况,这种情况通常是由于密码输入错误次数过多或其他安全策略导致的。当用户账户被锁定后,他们将无法登录到SQL ...
SQL Server 2005 sa 用户密码修改方法 ...修改 SQL Server 2005 sa 用户密码可以使用多种方法,包括使用 ALTER LOGIN 语句、sp_password 存储过程等。同时,需要注意 sp_password 存储过程的使用注意事项和限制。
### SQL Server 2005 用户 'sa' 登录失败问题解析 #### 问题背景 在使用 Microsoft SQL Server 2005 数据库时,可能会遇到用户 'sa'(系统管理员账户)登录失败的情况。此类问题通常伴随着错误信息:“该用户与可信...
### SQL Server 2005 sa用户登录失败问题解析及解决方案 #### 问题背景 在使用SQL Server 2005的过程中,用户可能会遇到“sa”用户无法登录的情况。特别是当用户尝试使用“SQL Server身份验证”方式登录时,会收到...
在开发过程中,如果遇到sa账号被锁定,是一件很棘手的事情,本教程可以指导你解决这个问题,附带详细代码。
切记:一定要把 SQL2005 服务重启才生效。 解决 sa 登录失败问题需要根据具体情况进行分析和解决。通过这些解决方案,我们可以快速地解决 sa 登录失败问题,确保 SQL Server 2005 的正常运行。
- 如果SQL Server 2005的服务没有运行,首先需要确保它处于启动状态。这可以通过"服务"管理工具完成,或者在SQL Server Management Studio (SSMS) 中,点击"对象资源管理器"的"服务器",查看是否有红色的停止图标。...
了解并掌握SQL Server的锁定原理和解除锁定的方法对于数据库管理员和开发人员来说至关重要,这不仅可以提高系统的并发性能,还能避免因锁定问题引发的系统异常和数据不一致。在实际应用中,需要根据具体场景和需求,...
- 如果`sa`用户被禁用,您可以先启用它: ```sql ALTER LOGIN sa ENABLE; ``` 4. **确认更改**: - 运行完上述命令后,您可以尝试使用新密码登录以验证更改是否成功。 #### 二、使用ALTER LOGIN命令 除了通过...
在SQL Server 2005中,"Cannot create PoolableConnectionFactory (用户 'sa' 登录失败。该用户与可信 SQL Server 连接无)" 错误通常表明在尝试使用SQL Server的身份验证方式登录时遇到了问题。这篇博客文章可能详细...
### SQL2005启动sa登录 #### 一、引言 在SQL Server 2005中,管理员可以通过配置使能sa账户登录,这对于数据库的管理与维护至关重要。本文将详细阐述如何通过SQL Server 2005的身份验证机制来实现sa用户的登录功能...
但是在以下情况下,怎么办呢? 1. SA密码丢失或者SA账号被禁用。... 我们可以把SQL Server 2008 启动为单用户模式,然后用Windows Administrative groups里的成员去登录SQL Server 2008. 操作步骤: 1. 我们可以先
用于SQL 2005 及以后版本的 登陆帐号的生成,为数据帐号的迁移,提供便利的方案
在本文中,我们将深入探讨如何设置SQL Server 2005的用户密码,特别是在SQL Server Management Studio Express环境下。SQL Server 2005是微软的一款关系型数据库管理系统,提供了多种身份验证模式以确保数据库的安全...
SQLserver 2005连接时,sa 用户不能登录 ,提供了所有的解决问题的方法。总有一种适合你
4.修改用户解除锁定,命令为:alter user 用户名 account unlock。 5.提交修改,命令为:commit。 解决 SQLPlus 命令行工具中的错误 在使用 SQLPlus 命令行工具时,可能会出现一些错误,例如:“bash: sqlplus: ...
这种方法之所以可行,是因为在使用“Windows身份验证”方式登录SQL Server时,若用户是本机的系统管理员或域管理员,那么该用户将自动获得SQL Server的sa级别的权限,而无需输入sa账户的密码。这就使得我们能够绕过...
NULL 博文链接:https://12345678.iteye.com/blog/1038363
通常,更改SA密码有两种方法:一是通过SQL Server Management Studio(SSMS),二是通过命令行工具如SQLCMD。然而,如果无法通过正常途径登录,例如忘记了密码,这个工具就提供了一种强制修改的解决方案。 使用该...