ASP.NET Core连接SQL Server登录失败:为何使用本地用户而非指定账号?
问题根源
你的连接字符串里同时指定了SQL身份验证的账号密码(User ID、Password)和Windows集成身份验证开关(Integrated Security=True),SQL Server的连接逻辑会优先采用Windows集成身份验证,所以代码会自动用你的本地网络账户(MyNetwork/MyPcUserName)去登录,完全忽略了你指定的UserAdmin和密码。
解决办法
修改连接字符串,移除Integrated Security=True这一项,或者将其改为Integrated Security=False,确保只保留SQL身份验证相关参数:
Server=MYDB01.somedomain.net;database=MYDB01;MultipleActiveResultSets=true;User ID=UserAdmin;Password=AdminPW;Encrypt=True;TrustServerCertificate=True;Connection Timeout=60;
额外说明
你能通过SSMS连接成功,是因为在SSMS里明确选择了SQL Server身份验证,手动输入了正确的账号密码;但代码里的连接字符串因参数冲突触发了优先使用Windows验证的规则,才导致登录失败。
内容的提问来源于stack exchange,提问作者henhen
相关产品推荐
相关产品推荐

