【问题标题】:Cannot change SQL Server user [duplicate]无法更改 SQL Server 用户 [重复]
【发布时间】:2016-08-14 23:59:23
【问题描述】:

我正在学习使用 ASP.NET,但遇到了以下问题:我无法使用 SqlConnection() 访问我的数据库,因为出现错误

无法打开登录请求的数据库“示例”。登录失败。用户“Asus\Anne”登录失败

代码:

SqlConnection con = new SqlConnection("data source=(localdb)\\MSSQLLocalDB; Database=Sample;Integrated Security=True");

我调查了一下,发现问题可能是用户没有访问数据库的权限。

我检查了一下,在我的数据库用户下确实没有任何名为“Asus\Anne”的用户,但我确实有一个“dbo”用户 (dbowner),该用户具有“Asus\Anne”登录名。

所以,我尝试将 dbo 的用户名更改为“Asus\Anne”,但它不让我这样做。

我还尝试将一个名为“Asus\Anne”的新用户添加到数据库中,并使用“Asus\Anne”登录名,但我收到一个错误消息,提示已登录(这是有道理的)。

我觉得我被困住了。有什么建议吗?

提前致谢!

【问题讨论】:

  • 好的,所以在花费数小时更改和创建用户之后,没有任何效果。我能够更改“dbo”登录名并使用“Asus\Anne”登录名创建一个“Asus\Anne”用户,并且我还能够创建一个用户来使用 sql server 进行身份验证。但是,我仍然遇到同样的问题,直到我决定通过 SSMS 而不是 VS 创建我的数据库,这才成功。我仍然不知道为什么,但现在我可以同时使用 Windows 和 SQL 进行身份验证。另外,我读到重新启动服务器很重要,但我的“重新启动”选项始终是灰色的。

标签: asp.net sql-server


【解决方案1】:

如果您想使用 Windows 身份验证模式,您的机器必须加入 SQL Server 使用的域(或任何受信任的域),并且您应该使用已授予 SQL Server 权限的 AD 登录。

还要检查 SQL Server 端口的防火墙设置,如果不是默认端口,请指定端口号,检查 SQL Server 是否允许远程连接,检查 SQL 配置管理器中启用的协议。

您的数据库似乎在您的本地计算机上 - 尝试使用 SQL 身份验证并将连接字符串更改为使用 SQL 身份验证 - 删除“Integrated Security=True”并添加 sql 登录名和密码。

【讨论】:

    【解决方案2】:

    您需要以 sysadmin 角色登录数据库以更改其他用户的用户角色等。在这种情况下,可能“Asus\Anne”没有这样的提升角色来修改其他角色(我假设您已登录sql 使用 windows 身份验证)。

    无论哪种方式,您都可以使用 SQL 身份验证创建新用户角色并为其提供必要的用户角色。您必须删除“Integrated Security = true”并添加登录名和密码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-16
      • 1970-01-01
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多