Old*_*zer 62 sql-server azure-sql-database
我将数据库从SQL Server 2012移动到Azure.我不想使用用户master,所以我创建了一个用户test.这就是我为Azure上的数据库XXX所做的:
create user test from login test with default_schema=[dbo]
exec sp_addrolemember 'db_owner','test'
Run Code Online (Sandbox Code Playgroud)
我检查过,我感兴趣的数据库对象都在架构中dbo.该表Users位于架构中dbo.
我的Web项目中的连接字符串具有test登录名.它会生成错误消息:
The SELECT permission was denied on the object 'Users', database 'XXX', schema 'dbo'
Run Code Online (Sandbox Code Playgroud)
错误消息的含义是什么,以及如何让用户test访问数据库XXX?
Rah*_*thi 65
我认为问题在于用户具有拒绝权限.当您创建的用户没有足够的权限访问数据库中的表时,会出现此错误.请将权限授予用户以获得所需内容.
GRANT用户特定权限如SELECT,INSERT,更新和删除在该数据库中的表.
小智 23
授予select权限的语法是:
USE YourDB;
GRANT SELECT ON dbo.functionName TO UserName;
Run Code Online (Sandbox Code Playgroud)
Kol*_*yon 22
确保取消选中
Properties
Membership
这应该不言而喻,但只授予用户需要的权限.一个简单的懒惰修复是db_denydatareader像我一样检查,但这不是最好的安全措施.
Pra*_*B R 18
这就是我遇到问题时能够解决问题的方法
| 归档时间: |
|
| 查看次数: |
207248 次 |
| 最近记录: |