关于GRANT语句的使用?

Bob 2004-06-20 01:54:55
11.今有两个关系模式
职工(职工号,姓名,年龄,职务,工资,部门号);
部门(部门号,名称,经理名,地址,电话).
请用SQL的GRANT和REVOKE语句(加上视图机制),完成以下授权定义或存取控制功能。
(4) 用户张新具有修改这两个表的结构的权力。

问:SQL怎么写?
...全文
919 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bob 2004-06-21
  • 打赏
  • 举报
回复
bitsbird(一瓢.net)

呵呵...你也来这里呀


to vileboy(郭海懿_傻子)
先谢谢你!
我发现Grant不能实现这个功能,要用系统存储过程sp_changedbowner,把用户加入到该数据库拥有者的行列才可以。
如:
EXEC sp_changedbowner '张新'


sp_changedbowner
更改当前数据库的所有者。

语法
sp_changedbowner [ @loginame = ] 'login'
[ , [ @map = ] remap_alias_flag ]

参数
[@loginame =] 'login'

当前数据库新所有者的登录 ID。login 的数据类型为 sysname,没有默认值。login 必须是已存在的 Microsoft® SQL Server™ 登录或 Microsoft Windows NT® 用户。如果 login 通过当前数据库内的现有别名或用户安全帐户已拥有访问该数据库的权限,则不能成为该数据库的所有者。为了避免这种情况,应先除去当前数据库中的别名或用户。

[@map =] remap_alias_flag

值为 true 或 false,表示旧数据库所有者 (dbo) 的现有别名是映射到当前数据库的新所有者还是要除去。remap_alias_flag 的数据类型为 varchar(5),默认值为 NULL,表示旧 dbo 的任何现有别名均映射到当前数据库的新所有者。false 表示除去旧数据库所有者的现有别名。

返回代码值
0(成功)或 1(失败)

注释
执行 sp_changedbowner 之后,新所有者称为数据库中的 dbo 用户。dbo 拥有执行数据库中所有活动的暗示性权限。

不能更改 master、model 或 tempdb 系统数据库的所有者。

若要显示有效 login 值的列表,请执行 sp_helplogins 存储过程。

执行只有 login 参数的 sp_changedbowner 会将数据库所有权改为 login,并将先前别名为 dbo 的用户别名映射到新数据库所有者。


刚刚考完试,试题没有出这道题:)


大家如果还有什么意见就提出来,没有的话我就结贴了。
fengyinglois 2004-06-21
  • 打赏
  • 举报
回复
up,谢谢楼主
vileboy 2004-06-20
  • 打赏
  • 举报
回复
试了一下,好像用户不能控制创建对象。
bitsbird 2004-06-20
  • 打赏
  • 举报
回复
upto
Bob 2004-06-20
  • 打赏
  • 举报
回复
大家帮帮忙啊。。。明天就考试了。。。是不是分数太低啊???
Bob 2004-06-20
  • 打赏
  • 举报
回复
帮帮忙呀...明天就考试了...

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧