chole993 2018-08-28 15:58 采纳率: 0%
浏览 3214
已结题

关于sqlserver数据库sa用户登陆失败的坑

数据库连接池采用的是阿里的druid,数据库连接池在初始化的时候账户密码不对会初始化失败。现在遇到的情景是这样的,数据库连接池在初始化成功,但是在执行sql的时候会报sa登陆失败的错误,就算是登陆账户不是sa也是会出现同样的错误。其它数据库管理工具上如navicat上登陆sa账户都能成功。想请教有没有人遇到过类似的问题。线上的项目今天跑着跑着就出现这个问题了,心累

  • 写回答

1条回答 默认 最新

  • Msir_Modern 2018-08-29 03:57
    关注

    第1步,在SQL Server服务器上依次单击“开始”→“所有程序”→Microsoft SQL Server→“企业管理器”菜单命令,打开SQL Server Enterprise Manager窗口。使用Windows身份验证连接上SQL Server,如图2008120225所示。
    图2008120225 SQL Server企业管理器窗口
    用户sa登录SQL Server失败解决方法
    第2步,在左窗格中展开SQL Server组(本例为Database),然后右键单击SQL Server服务器的名称(本例为hanjiangit),选择“属性”快捷命令。在打开的“SQL Server属性(配置)-HANJIANGIT”对话框中切换至“安全性”选项卡,并在“安全性”区域将身份验证方式选择为SQL Server和Windows。最后单击“确定”按钮使设置生效,如图2008120226所示。
    图2008120226 选择SQL Server和Windows身份验证方式
    用户sa登录SQL Server失败解决方法
    第3步,重新启动SQL Server服务。
    在上述解决方法中,如果即使用Windows身份验证的方式依然连接失败的话,那么将使用户处于两难境地。因为SQL Server服务器只允许使用Windows身份验证,然而由于一些特殊原因,使用Windows身份验证却无法连接上SQL Server。这样就造成了无论用何种身份验证方式均无法连接的情况。遇到这种情况,只能通过修改注册表将身份验证方式改为SQL Server和Windows混合验证方式,具体操作方法如下:
    第1步,依次单击“开始”→“运行”菜单命令,在运行编辑框中键入Regedit命令并回车,打开“注册表编辑器”窗口。
    第2步,依次展开[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]分支,单击选中MSSQLServer选项,在右窗格中找到并双击LoginMode项。在打开的“编辑DWORD值”对话框中将“数值数据”修改为2,并单击“确定”按钮使设置生效,如图2008120227所示。
    图2008120227 修改注册表设置身份验证方式
    用户sa登录SQL Server失败解决方法
    第3步,关闭“注册表编辑器”窗口,并重新启动SQL Server服务。
    通过上述设置,用户可以使用SQL Server账户sa连接数据库,并能够在“企业管理器”中新建SQL Server注册。不过此时仍然无法使用Windows身份验证模式来连接SQL Server,因为在SQL Server中有两个缺省的登录账户BUILTIN\Administrators和“机器名\Administrator”被删除。可以通过下面的步骤恢复这两个账户:
    第1步,打开“企业管理器”窗口,在左窗格中依次展开“SQL Server组”→“SQL Server服务器”→“安全性”目录。然后右键单击“登录”选项,执行“新建登录”快捷命令,如图2008120228所示。
    图2008120228 执行“新建登录”命令
    用户sa登录SQL Server失败解决方法
    第2步,打开“SQL Server登录属性-新建登录”对话框,保持身份验证方式为Windows身份验证,然后在“名称”编辑框中键入BUILTIN\Administrators,如图2008120229所示。
    图2008120229 输入缺省登录账户
    用户sa登录SQL Server失败解决方法
    第3步,单击“服务器角色”标签,在“服务器角色”选项卡中选中System Administrators复选框,并单击“确定”按钮,如图2008120230所示。
    图2008120230 授权账户在服务器中的角色
    用户sa登录SQL Server失败解决方法
    10
    第4步,重复上述步骤添加“‘机器名(域名)’\Administrator”账户。

    评论

报告相同问题?

悬赏问题

  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛