使用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" />
我不认为连接字符串是错误的或我的设置,因为我可以使用没有安全性连接,所以我认为问题在于数据库上的用户。
用户列在SSMS
下Security > Logins
下,并映射到数据库的相同用户名,默认架构为db_owner
。
用户也在Database > Security > Users
中列出,名称相同,并在自有架构和成员资格下设置为db_owner
。
我尝试使用以下脚本重新设置密码:
ALTER LOGIN yoursqllogin WITH PASSWORD = 'newpassword'
我还使用了对数据库中的孤立用户进行了检查,并使用:
EXEC sp_change_users_login 'Report'
但没有人上来。任何人都可以建议任何尝试解决的事情吗?
答案 0 :(得分:3)
这是一个非常常见的问题,通常很容易修复。
在 SQL Server Management Studio 中,选择您的服务器,安全,登录,然后右键单击您的问题用户,然后选择“属性”。
现在,选择User Mapping选项卡,单击您的数据库(&#34; Test&#34;,在下面的示例中),并查看该用户对该数据库的权限。
在此示例中,我的用户拥有一些权限,但不具有db_datareader
或db_datawriter
权限。
或者,换句话说,SQL Server将允许此用户连接,但如果他们尝试在数据库中读取或写入任何内容,则会引发错误。
希望这有帮助!
答案 1 :(得分:1)
感谢您的建议伙伴,原来Dan Guzman遇到了问题,我需要通过转到服务器属性&gt;将我的服务器设置为Windows和sql server身份验证。安全&gt; SQL Server和Windows身份验证模式。感谢您的支持。