使用连接字符串无法登录SQL Server的问题求助
解决.NET Core 7连接SQL Server时“login failed for user”错误
以下是几个排查和解决的关键点:
修复连接字符串的转义问题
JSON配置文件中,反斜杠\是转义字符,你的服务器名称里的单反斜杠会被解析错误。需要把DESKTOP-User\MSSQLSERVER改成DESKTOP-User\\MSSQLSERVER,同时明确指定Windows身份验证,修正后的连接字符串如下:"ConnectionStrings": { "DefaultSQLConnection": "Server=DESKTOP-User\\MSSQLSERVER;Database=VillaDatabase;TrustServerCertificate=True;Trusted_Connection=True;" }确认SQL Server实例名称
如果你的SQL Server是默认实例,可以直接简化服务器地址为Server=DESKTOP-User;,不需要加\MSSQLSERVER;如果是命名实例,要确保实例名称准确——可以打开SQL Server配置管理器,在“SQL Server服务”中查看实例名称(比如常见的SQLEXPRESS)。检查身份验证模式与权限
- 若使用Windows身份验证:确保运行.NET Core应用的用户(本地开发时的当前Windows用户)拥有SQL Server的登录权限,且能访问
VillaDatabase数据库。可以用SQL Server Management Studio(SSMS)以相同用户登录,验证是否能正常访问该数据库。 - 若使用SQL身份验证:先在SQL Server中启用混合身份验证模式,再在连接字符串中添加用户名和密码:
同时确保该SQL用户拥有"ConnectionStrings": { "DefaultSQLConnection": "Server=DESKTOP-User\\MSSQLSERVER;Database=VillaDatabase;User ID=你的SQL用户名;Password=你的SQL密码;TrustServerCertificate=True;" }VillaDatabase的访问权限。
- 若使用Windows身份验证:确保运行.NET Core应用的用户(本地开发时的当前Windows用户)拥有SQL Server的登录权限,且能访问
验证SQL Server服务状态
打开服务管理器,确认SQL Server (你的实例名)服务处于运行状态;如果是连接远程服务器,还需在SSMS中右键服务器→属性→连接,勾选“允许远程连接到此服务器”。
内容的提问来源于stack exchange,提问作者Kumar_Maddy
相关产品推荐
相关产品推荐

