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

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

1个回答

第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”账户。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问