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 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?