【问题标题】:Can't connect to SQL Server with user无法使用用户连接到 SQL Server
【发布时间】:2015-07-04 19:15:46
【问题描述】:

我在使用 Entity Framework 6 从我的 ASP.NET MVC 4 应用程序连接到我的 SQL Server 2014 时遇到问题。

如果我使用

<add name="CONNECTION" 
     connectionString="Data Source=SERVER;Initial Catalog=DATABASENAME;Integrated Security=True" 
     providerName="System.Data.SqlClient" />

然后一切正常,但如果我尝试使用我的用户,它无法连接:

<add name="CONNECTION" 
     connectionString="Data Source=SERVER;Initial Catalog=DATABASENAME;User Id=USERNAME;Password=PASSWORD;"
     providerName="System.Data.SqlClient" />

我不认为连接字符串或我的设置有误,因为我可以使用不安全的方式进行连接,所以我认为问题在于数据库上的用户。

用户在Security &gt; Logins 下的SSMS 中列出,并根据默认架构映射到数据库的相同用户名db_owner

该用户也列在Database &gt; Security &gt; Users 中,具有相同的名称,并在 Owned Schemas and Membership 下设置为 db_owner

我尝试使用以下脚本重新设置密码:

ALTER LOGIN yoursqllogin WITH PASSWORD = 'newpassword' 

我还使用了检查数据库上的孤立用户和主用户:

EXEC sp_change_users_login 'Report'

但是没有人出现。任何人都可以建议任何尝试解决的方法吗?

【问题讨论】:

  • 你遇到任何错误..如果它没有连接它应该抛出一个错误..
  • 同意,您应该会遇到某种错误,提供更多详细信息。
  • 检查服务器属性以确保 SQL Server 配置为允许 Windows 和 SQL 身份验证。默认情况下只允许 Windows。

标签: sql sql-server asp.net-mvc model-view-controller


【解决方案1】:

这是一个非常常见的问题,通常很容易解决。

SQL Server Management Studio 中,选择您的服务器、SecurityLogins,然后右键单击您的问题用户,然后选择 Properties .

现在,选择“用户映射”选项卡,单击您的数据库(在下面的示例中为“测试”),然后查看该用户对该数据库的权限。

在本例中,我的用户有一些权限,但没有db_datareaderdb_datawriter 权限。

或者,换句话说,SQL Server 会让这个用户连接,但是如果他们试图在数据库中读取或写入任何东西,它会抛出一个错误。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    感谢您的建议,事实证明 Dan Guzman 遇到了问题,我需要通过转到服务器属性 > 安全 > SQL Server 和 Windows 身份验证模式将我的服务器设置为 Windows 和 sql 服务器身份验证。感谢您的支持。

    【讨论】:

      猜你喜欢
      • 2012-03-27
      • 1970-01-01
      • 2020-05-22
      • 2015-08-29
      • 2016-11-08
      • 2014-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多