用户没有访问数据库的权限。

6

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

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


2
这取决于你使用的是Windows身份验证还是SQL Server身份验证? - dandan78
谢谢您的评论!我正在使用Windows身份验证。 - RadiantHex
没问题。我相信你已经得到了答案。 :) - dandan78
2个回答

5
你需要使用SQL Server Management Studio程序为用户授权。你需要用具有数据库管理权限的登录账户连接。如果你没有这些权限,你需要联系拥有这些权限的人。
如果你有具有这些权限的登录账户:
  • 打开Management Studio
  • 连接到数据库服务器,查找对象资源管理器中的Security节点。
  • 展开Security节点,在Logins列表中查找用户的名称。如果你正在使用Windows身份验证,则用户的名称应与用户的Windows登录名称相同,格式为DOMAIN\Username
  • 如果用户在列表中,请为该用户授予适当的数据库权限(读取、执行SP等)。
  • 如果用户不在列表中,则需要添加该用户。
权限也可以通过组进行添加,因此你还应检查用户所属的组。

2
还要注意,在服务器下面有一个安全节点,每个数据库下也有一个。服务器下的节点允许您选择谁可以登录服务器,而数据库下的节点允许您为该特定数据库添加权限。 - Richard Marskell - Drackir
好观点 - 我不想写一本关于SQL安全和如何设置用户权限的书,但我应该提到特定于数据库的安全性。谢谢你补充这个。 - TLiebe

4
我曾经遇到这样一种情况,我接收了来自另一个已离开组织的开发人员的PC。我无法使用Windows身份验证访问默认实例。
以下是解决方法:
  1. 打开SQL Server Configuration Manager
  2. 点击“SQL Server Services”
  3. 在右窗格中找到该实例,并双击以查看其属性
  4. 在“登录”选项卡中,注意“登录为:”单选按钮选项设置为“内置账户”。
  5. 更改选项为“This account”,并添加具有您的域和用户名的Windows身份验证帐户,然后输入您的密码。
  6. 单击“应用”。当它询问是否要重新启动实例时,单击“是”。
这将自动将您的Windows身份验证用户帐户(Active Directory或本地用户)添加到SQL Server实例中。现在,您可以立即连接到所选实例。作为最佳实践,将设置重置回内置用户帐户(很可能是Network Service)。
就这样!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接