今天,启动电脑后,SQL SERVER采用混合方式,无法用sa用户登陆
但是用windows认证方式是可以登陆的
用windows认证方式登陆后,在安全中修改sa的用户密码(修改users mapping时),报如下错误:TITLE: Microsoft SQL Server Management Studio
------------------------------Alter failed for Login 'sa'.  (Microsoft.SqlServer.Smo)------------------------------
ADDITIONAL INFORMATION:An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)------------------------------Cannot alter the login 'sa', because it does not exist or you do not have permission. (Microsoft SQL Server, Error: 15151)
请问应该如何解决sa用户登陆的问题啊?这个问题很急,请大家帮忙啦,不甚感激!解决了可以再加分!

解决方案 »

  1.   

    右键点击服务器-属性-安全性选项页-选择sqlserver和windows验证方式
    服务器-安全性-登录名-SA右键属性重新设置密码
      

  2.   

    应为你的window用户无sql server的高级管理员权限。可试试用进入window的administrator用户,再进入sql server试试
      

  3.   


    电脑重启前,是可以用混合方式,登录SQL server的
      

  4.   

    支持3楼的说法
    you do not have permission
    说明你没有权限
    你可以尝试管理员的账号下修改看看
      

  5.   

    好像可以用sqlcmd来更改为Windows认证模式登录,具体怎样大侠们应该知道,
      

  6.   


    Windows认证方式可以登录的,现在需要使用混合方式登录
      

  7.   

    编辑sqlserver注册属性中看下,是否是只用sql用户登录,
    或者删除该sql注册,重新注册一个试试;;
      

  8.   

    估计sa被禁止了!
    用系统\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
      

  9.   


    执行语句,报错:
    Msg 15151, Level 16, State 1, Line 1
    Cannot alter the login 'sa', because it does not exist or you do not have permission.
      

  10.   

    启动sa用户,设置密码,设置数据库windows和sqlserver混合登陆,然后在重启服务器(右键服务器重新启动)这样试试行不行呢