【问题标题】:User does not have permission to access a database用户无权访问数据库
【发布时间】:2019-04-17 22:18:53
【问题描述】:

我正在尝试使用 Windows 身份验证连接到数据库。我相信我当前的用户无权访问它。

如何让用户登录 SQL Server 并使用数据库?

【问题讨论】:

  • 这取决于,您使用的是 Windows 身份验证还是 SQL Server 身份验证?
  • 感谢您的评论!我正在使用 Windows 身份验证
  • 没问题。我相信你有你的答案。 :)

标签: sql sql-server sql-server-2005


【解决方案1】:

您需要使用 SQL Server Management Studio 程序为用户授予访问权限。您需要使用具有数据库管理权限的登录名进行连接。如果您没有这些权限,则需要联系拥有这些权限的人。

如果您确实拥有具有这些权限的登录名:

  • 打开管理工作室
  • 连接到数据库所在的数据库服务器并在对象资源管理器中查找安全节点。
  • 展开安全节点并在登录列表中查找用户名。如果您使用 Windows 身份验证 DOMAIN\Username format,则用户名应与用户的 Windows 登录名相同。
  • 如果用户在那里,您将需要授予该用户对数据库的适当权限(读取、执行 SP 等)。
  • 如果用户不在那里,您需要添加他们。

也可以按组添加权限,因此您还应该检查用户所属的组。

【讨论】:

  • 还要注意服务器下有一个安全节点,每个数据库下也有一个。服务器下的一个允许您选择谁可以登录服务器,数据库下的一个允许您为该特定数据库添加权限。
  • 好点 - 我不想写一本关于 SQL 安全性和如何设置用户权限的书,但我应该提到特定于数据库的安全性。感谢您添加。
【解决方案2】:

我有一个场景,我从另一个离开组织的开发人员那里继承了一台 PC。我无法使用 Windows 身份验证访问默认实例。

解决方案如下:

  1. 打开 SQL Server 配置管理器
  2. 点击“SQL Server 服务”
  3. 在右窗格中找到实例并双击其属性
  4. 在“登录”选项卡中,请注意“登录为:”单选按钮选项设置为“内置帐户”。
  5. 将选项更改为“此帐户”,并使用您的域和用户名添加您的 Windows 身份验证帐户,然后输入您的密码。
  6. 单击“应用”。当它询问您是否要重新启动实例时,请单击“是”。

这会自动将您的 Windows 身份验证用户帐户(Active Directory 或本地用户)添加到 SQL Server 实例。您现在可以立即连接到所选实例。作为最佳实践,将设置重置回内置用户帐户(很可能是网络服务)。

就是这样!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-29
    • 2020-11-03
    • 1970-01-01
    • 2012-06-20
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多