请问如何用SQL语句为指定用户授权?

我首先在登陆那创建了一个用户,并且勾选了几个可访问的数据库给它,现在select表是没问题,但是在select视图时就提示:拒绝了对对象'V_Person'(数据库'PF... 我首先在登陆那创建了一个用户,并且勾选了几个可访问的数据库给它,现在select表是没问题,但是在select视图时就提示:拒绝了对对象 'V_Person'(数据库 'PFMS',所有者 'dbo')的 SELECT 权限。
好像是没授权的原因?那么,要怎么给这个用户授予select的权限呢?
展开
 我来答
很多游戏
高粉答主

2019-05-13 · 游戏精通者,攻略技能点满
很多游戏
采纳数:91 获赞数:386882

向TA提问 私信TA
展开全部

用SQL语句为指定用户授权的具体步骤如下:

我们需要准备的材料分别是:电脑、sqlserver2008

1、首先打开sqlserver2008,之后点击打开左上角的“新建查询”。

2、然后在弹出来的窗口中新建aa用户,输入:

exec sp_addlogin  'aa',    '123456',    'mydb'

exec  sp_grantdbaccess  'aa'

EXEC sp_addrolemember 'db_datareader', 'aa',让aa用户获得设置查询mydb所有表的权限。

3、然后用aa账号登录到该系统中即可。

TableDI
2024-07-18 广告
**VLOOKUP匹配功能简介**VLOOKUP是Excel中极为常用的一个函数,主要用于在表格的首列查找指定的值,并返回该行中指定列处的值。该函数对于数据整理、查找、核对等工作极为便利。使用时,需要明确查找值、查找区域、返回结果的列号以及... 点击进入详情页
本回答由TableDI提供
匿名用户
推荐于2017-11-26
展开全部
SQL语言用GRANT语句向用户授予操作权限,GRANT语句的一般格式为:
GRANT <权限>[,<权限>]...

[ON <对象类型> <对象名>]

TO <用户>[,<用户>]...

[WITH GRANT OPTION];
其语义为:将对指定操作对象的指定操作权限授予指定的用户。
不同类型的操作对象有不同的操作权限,常见的操作权限如表3-4所示。

表3-4 不同对象类型允许的操作权限

对象 对象类型 操作权限
属性列 TABLE SELECT, INSERT, UPDATE, DELETE ALL PRIVIEGES
视图 TABLE SELECT, INSERT, UPDATE, DELETE ALL PRIVIEGES
基本表 TABLE SELECT, INSERT, UPDATE, ALTER, INDEX,DELETE ALL PRIVIEGES
数据库 DATABASE CREATETAB

详细信息…
接受权限的用户可以是一个或多个具体用户,也可以是PUBLIC即全体用户。
如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予别的用户。如果没有指定WITH GRANT OPTION子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。

例1
把查询Student表权限授给用户U1
GRANT SELECT ON TABLE Student TO U1;

例2
把对Student表和Course表的全部权限授予用户U2和U3
GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3;

例3
把对表SC的查询权限授予所有用户
GRANT SELECT ON TABLE SC TO PUBLIC;

例4
把查询Student表和修改学生学号的权限授给用户U4
详细信息…
这里实际上要授予U4用户的是对基本表Student的SELECT权限和对属性列Sno的UPDATE权限。授予关于属性列的权限时必须明确指出相应属性列名。完成本授权操作的SQL语句为:
GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;

例5
把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户
GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;
详细信息…
执行此SQL语句后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限,即由U5用户发上述GRANT命令给其他用户。

例如U5可以将此权限授予U6:
GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION;
同样,U6还可以将此权限授予U7:
GRANT INSERT ON TABLE SC TO U7;
因为U6未给U7传播的权限,因此U7不能再传播此权限。

例6
DBA把在数据库S_C中建立表的权限授予用户U8
GRANT CREATETAB ON DATABASE S_C TO U8;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式