gpt4 book ai didi

sql-server - 对对象 'Users'、数据库 'XXX'、架构 'dbo' 的 SELECT 权限被拒绝

转载 作者:行者123 更新时间:2023-12-01 17:32:58 25 4
gpt4 key购买 nike

我将数据库从 SQL Server 2012 移至 Azure。我不想使用用户 master,因此我创建了一个用户 test。这是我对 Azure 上的数据库 XXX 所做的:

create user test from login test with default_schema=[dbo]
exec sp_addrolemember 'db_owner','test'

我查了一下,我感兴趣的数据库对象都在模式dbo中。表 Users 位于架构 dbo 中。

我的网络项目中的连接字符串将 test 作为登录名。它产生错误消息:

The SELECT permission was denied on the object 'Users', database 'XXX', schema 'dbo'

错误消息是什么意思?我该怎么做才能让用户test访问数据库XXX?

最佳答案

  1. 打开 SQL Management Studio
  2. 扩展您的数据库
  3. 展开“安全”文件夹
  4. 展开“用户”
  5. 右键单击用户(尝试执行查询的用户)并选择属性
  6. 选择页面成员(member)
  7. 确保取消选中

    db_denydatareader

    db_denydatawriter

enter image description here

这应该是不言而喻的,但只授予用户需要的权限。一个简单的懒惰修复方法是像我一样检查db_owner,但这不是最佳的安全实践。

关于sql-server - 对对象 'Users'、数据库 'XXX'、架构 'dbo' 的 SELECT 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19334041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com