news 2026/7/6 13:25:34

SqlServer创建数据库账号,连接报“无法打开登录所请求的数据库 xxx。登录失败。ClientConnectionId:xxxx“

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SqlServer创建数据库账号,连接报“无法打开登录所请求的数据库 xxx。登录失败。ClientConnectionId:xxxx“

问题描述

近期有个源库切换了地址,数据平台准备迁移的时候DBA哥们又休假了,运维人又不熟,百度了新增账号给新了增SQL Server数据库账号,尝试连接时,出现错误提示,但死活联不通,报错如下:

“无法打开登录所请求的数据库 xxx。登录失败。ClientConnectionId:xxxx”。


使用他们的管理员用户又可以,所以纳闷这玩意咋发生的。搜了一下原因,说是该问题通常与权限配置或数据库状态相关。

解决思路

我就不跟大家过网上的答案了,直接给大家最直白最准确最值得信赖的回答(手动滑稽)。

前提是有账户可以登录,如果数据库本身还有问题,请检查数据库状态。

1、登录可以登录管理员用户,查登录日志。

EXEC sp_readerrorlog 0, 1, 'Login failed';

基本上所有的登录日志都可以查到,我这里先发现登录密码多了一个感叹号,这个调整就不细说了,发现的第二个问题也是主要问题是:"无法打开明确指定的数据库"

2、检查SQL Login 的 CREATE USER(数据库级映射)

SELECT sp.name FROM sys.server_principals sp LEFT JOIN sys.database_principals dp ON sp.sid = dp.sid WHERE dp.name IS NULL AND sp.type = 'S';

如果这个查询能够查询出你的账户,很好,你已经基本接触到真相了。我也是在这里发现映射存在问题。

3、重建账户。

原创建和授权语句如下:

CREATE LOGIN ODS_SELECT WITH PASSWORD ='xxxxxx' USE schema_test; CREATE USER ODS_SELECT FOR LOGIN ODS_SELECT; ALTER ROLE db_datareader ADD MEMBER ODS_SELECT;

看着这里我就在猜测,是不是SqlServer对大小写敏感,因为SELECT * FROM sys.server_principals WHERE name = 'ods_select',这里面得name是小写。尝试着进行重新开户。

调整后的创建和授权语句如下(这里需要删除旧的账户):

DROP USER IF EXISTS ods_select; IF EXISTS (SELECT * FROM sys.server_principals WHERE name = 'ods_select') DROP LOGIN ods_select; CREATE LOGIN ods_select WITH PASSWORD = 'xxxxxx'; USE schema_test; GO CREATE USER ods_select FOR LOGIN ods_select; ALTER ROLE db_datareader ADD MEMBER ods_select; GO

这时候是可以正常访问了,但在SqlServer官方文档中说明其对大小写不敏感,可能只是重建账户恰好绑定了SID,所以有问题就根据上面的一二三步逐级推进即可

扩展阅读

  • SQL Server 官方文档:安装向导帮助

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 13:36:04

从JSON到清晰时序:WaveDrom在数字设计中的高效波形绘制实战

1. 为什么数字设计需要专业的波形绘制工具 在数字电路设计领域,波形图就像工程师的"第二语言"。记得我第一次接触FPGA项目时,面对密密麻麻的时序问题完全无从下手,直到导师教我画出清晰的波形图,所有逻辑关系瞬间变得一…

作者头像 李华
网站建设 2026/7/2 23:50:14

从脉冲到转速:Arduino霍尔编码器测速与PID闭环控制实战

1. 霍尔编码器测速原理与硬件连接 第一次接触霍尔编码器时,我被它那小小的身躯却能精确测量转速的能力震撼到了。这种传感器通过检测磁场变化来计数,每转过一定角度就会产生一个脉冲信号。我手头用的25GA-310电机自带双通道霍尔编码器,标称每…

作者头像 李华
网站建设 2026/7/3 22:37:29

Java while 循环

Java while 循环 1. while 基础语法(先判断,后执行) while(循环条件){循环体代码; }执行逻辑: 判断括号内布尔条件,true 执行循环体;执行完回到条件再次判断;条件为 false,循环结束。…

作者头像 李华
网站建设 2026/7/3 1:59:20

絮凝剂推荐哪家?4大主流厂家优劣势分析

絮凝剂厂家选购核心指标随着国内水处理行业合规要求不断提升,絮凝剂作为核心水处理药剂,采购方的筛选标准也日趋严格。市面上絮凝剂生产厂家数量众多,产品质量、服务能力差异较大,采购前可参考5个核心指标进行初步筛选&#xff0c…

作者头像 李华
网站建设 2026/7/3 3:56:29

AI编码时代隐性代码难题复盘:本地正常、线上必崩的4类高危陷阱

当下AI辅助编码已成为开发者标配,大模型可快速生成语法合规、逻辑通顺的业务代码,但大量线上故障数据显示,90%的隐蔽性线上Bug,均来自AI生成代码的“隐性缺陷”。这类难题区别于传统语法报错、算法超时等显性问题,具备…

作者头像 李华