Sql server 2008 如何使SQL Server找到与提供的名称匹配的登录名?

Sql server 2008 如何使SQL Server找到与提供的名称匹配的登录名?,sql-server-2008,login,sql-server-express,Sql Server 2008,Login,Sql Server Express,我刚刚将数据库备份还原到本地SQL Server express实例 在ManagementStudio的服务器实例节点下,我进入了:安全->登录->新登录 然后我填写了登录名和密码,并选择了SQLServer身份验证。在底部,我选择了新恢复的数据库作为默认数据库 在左侧的“用户映射”选项卡上,我将用户映射到新恢复的数据库,并赋予它“db_所有者”角色 当我尝试登录时,日志中出现以下错误: 用户“username”登录失败。原因:找不到与提供的名称匹配的登录名。[客户:] 如何使SQL Serv

我刚刚将数据库备份还原到本地SQL Server express实例

  • 在ManagementStudio的服务器实例节点下,我进入了:安全->登录->新登录
  • 然后我填写了登录名和密码,并选择了SQLServer身份验证。在底部,我选择了新恢复的数据库作为默认数据库
  • 在左侧的“用户映射”选项卡上,我将用户映射到新恢复的数据库,并赋予它“db_所有者”角色
  • 当我尝试登录时,日志中出现以下错误:

    用户“username”登录失败。原因:找不到与提供的名称匹配的登录名。[客户:]

    如何使SQL Server找到与我提供的名称匹配的登录名?

    其他资料:

    • 已启用命名管道
    • TCP/IP已启用
    • 允许远程连接

    请确保您已为从中创建的用户选择了“SQL Server身份验证”模式 服务器>安全性>登录选项

    另一种可能性是,您使用ManagementStudio创建了SQLServer登录,并且选中了要求用户在首次登录时更改密码的选项。如果您没有立即使用Management Studio登录并更改密码,则尝试从另一台计算机登录时无法弹出更改密码的对话框,因此失败


    请删除用户,然后重新创建

    这很旧,但对于一些使用EF Core和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”

    我从中找到了这种格式。在那之后,它工作得很好


    默认情况下,persist security info=false。我没有找到我的连接字符串不工作的任何原因

    我两个都做了。。。已选择SQL Server身份验证,但我没有选中“强制密码策略”复选框。这对我有效,我编写了创建用户的脚本并删除了用户,然后运行脚本再次创建用户,效果良好。