代码之家  ›  专栏  ›  技术社区  ›  DevJoe

Visual Studio调试器无法登录到SQL server

  •  1
  • DevJoe  · 技术社区  · 6 年前

    我有一个简单的EF Code First项目,如果本地SQL server不存在,则必须在其中创建一个数据库。但是,当我尝试调试我的应用程序时,会出现以下错误:

    Cannot open database "<Database>" requested by the login. The login failed.
    Login failed for user 'MicrosoftAccount\someone@me.com'.'
    

    我有些理解这一点,因为我使用Microsoft帐户登录Windows。 因此,我将连接字符串从使用集成安全更改为用户名和密码。

    我确保用户是在SQL server上创建的(登录和系统管理权限),但在Visual Studio中调试时仍然失败。

    所以我构建项目并通过exe文件直接运行应用程序,一切正常。但我想理解为什么它不能与调试器一起工作。

    我是否错过了一些明显的东西?

    3 回复  |  直到 6 年前
        1
  •  1
  •   DevJoe    6 年前

    所以我发现了问题。

    我的本地Windows帐户与我的Microsoft帐户配对。出于某种原因,Visual Studio将我的Microsoft帐户发送到SQL server进行身份验证,即使在使用特定的本地凭据运行时也是如此。

    我的解决方案是在我的工作站上创建一个没有关联MS帐户的新本地用户。 我让帐户成为Administrators的成员,并将其权限授予SQL server,然后一切都很好。。。

        2
  •  0
  •   Roman O    4 年前

    请确保在连接字符串中正确指定了服务器和数据库名称。我打错了,所以出错了。

        3
  •  -1
  •   edixon    6 年前

    我猜调试器使用不同的凭据运行(或者可以设置为这样)。尤其是如果您的帐户不是管理员。

    也许这有助于: https://blogs.msdn.microsoft.com/greggm/2008/05/15/visual-studio-remote-debugger-service-user-account-requirements/