我刚刚将数据库备份恢复到本地SQL Server Express实例。
当我尝试登录时,日志中会给出以下错误:
用户'用户名'登录失败。原因:找不到与提供的名称相匹配的登录信息。 [客户:]
如何让SQL Server找到与我提供的名称相匹配的登录信息?
其他信息:
答案 0 :(得分:9)
请确保为您创建的用户选择了“SQL Server身份验证”模式 服务器>安全>登录选项。
另一种可能性是,您使用Management Studio创建了SQL Server登录,并且选中了要求用户在首次登录时更改密码的选项。如果您没有立即使用Management Studio登录并更改密码,则尝试从其他计算机登录时无法弹出更改密码的对话框,因此无法使用。
通过删除用户并再次创建来尝试。
答案 1 :(得分:0)
这很旧,但是对于某些使用EF核心和VS代码的ASP.Net Core 2.2遇到错误的人
错误号:18456,状态:1,类:14 用户'sa:password = MyPassword'登录失败。
我查看了来自SSMS的日志,发现错误为
用户'sa:password = MyPassowrd'登录失败。原因:找不到与提供的名称匹配的登录名。 [客户:MyIp]
在各处搜索后,我发现我必须在连接字符串中添加 Persist Security Info = False ,所以我的连接字符串变得像
“默认”:“持久安全信息= False;用户ID = sa;密码= MyPassword;初始目录= MyDb;服务器= MyServerIp”
我从Microsoft Docs找到了这种格式。之后,它运行良好。
默认为persist security info = false。我没有找到任何原因,如果没有它,我的连接字符串将无法正常工作。 From here