You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地SQL Server无法使用连接字符串指定用户登录问题求助

解决SQL Server登录失败的问题

嘿,我来帮你理清楚这个问题——你遇到的核心矛盾其实出在连接字符串的配置细节上,咱们一步步拆解:

为什么实际用的是Windows账户而非你指定的MyNewUser?

你连接字符串里的Integrated Security=True是关键!这个参数的作用是启用Windows身份验证模式,它的优先级远高于你写的User Id和Password。也就是说,只要这个参数设为True,SQL Server会直接忽略你指定的SQL账户,转而用当前登录Windows的用户(也就是MyCodingPC\Cyborg)尝试登录。而这个Windows账户大概率没有访问MyDatabase的权限,所以才触发了登录失败的报错。

具体修复步骤

1. 修正连接字符串的核心配置

首先把Integrated Security=True去掉,或者改成Integrated Security=False,这样SQL Server才会使用你指定的MyNewUser账户登录。另外,你的数据源格式也有问题——(localdb)\MSSQLLocalDB是本地LocalDB实例的标准写法,不需要前面的IP和端口(那是远程SQL Server的配置格式)。修正后的连接字符串应该是这样的:

Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=MyDatabase;User Id=MyNewUser;Password=pass@#$word;

2. 确保MyNewUser账户配置合规

  • 打开SQL Server Management Studio(SSMS),连接到你的LocalDB实例。
  • 检查安全性 > 登录名里是否存在MyNewUser这个SQL登录账户。如果没有,右键创建一个并设置好对应密码。
  • 进入MyDatabase数据库,打开安全性 > 用户,确认MyNewUser已经映射到该数据库,并且分配了必要权限(比如db_datareader、db_datawriter,根据你的实际需求调整)。

3. 验证LocalDB实例状态

有时候LocalDB实例可能处于未启动状态,你可以打开命令提示符,运行以下命令检查并启动:

sqllocaldb info MSSQLLocalDB
sqllocaldb start MSSQLLocalDB

再梳理下报错逻辑

现在你应该能明白:原来的连接字符串同时混合了两种身份验证模式,而Windows身份验证优先生效,导致你指定的SQL账户根本没被用上。按照上面的步骤修正后,应该就能正常连接数据库了。

内容的提问来源于stack exchange,提问作者Tanish Ranjan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 09:57:32