首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以将exec权限授予Server 2008 / 2012中的角色

是否可以将exec权限授予Server 2008 / 2012中的角色
EN

Database Administration用户
提问于 2015-01-26 19:10:58
回答 1查看 1.8K关注 0票数 -1

是否可以将exec权限(例如在SP上)授予Server 2008中的角色,以便所有角色成员都拥有该权限;如果将2008年数据库备份并还原到Server 2012中,并且将2012年用户添加到(还原的)角色中,该2012年用户也会收到这些权限吗?

我正在批准个人SPs和职能的执行许可。所以我在2008年就这么做了:

代码语言:javascript
复制
grant exec on sp1 to myrole;
grant exec on sp2 to myrole;
grant exec on sp3 to myrole;
grant exec on sp4 to myrole;
.
.
.
grant exec on sp150 to myrole;

我在SSMS的编辑窗口中选择了所有150行文本,并单击了Execute按钮。同样的事情也发生了--它们都延续到了2012年--但出于某种原因,高管的拨款并没有延续到2012年。

EN

回答 1

Database Administration用户

发布于 2015-01-26 19:27:47

这正是Server中角色的目的。

代码语言:javascript
复制
CREATE ROLE Test
GRANT EXECUTE TO Test

角色测试现在可以在当前数据库(创建角色的地方)上执行任何存储过程或函数。据我所知,在Server的每个版本中都是如此(至少2000+)。

另外,如果备份数据库,然后将其还原到2012服务器,角色和它的权限将保持不变。尽管如此,如果你没有做好适当的准备,你可能会有一些问题。登录和用户是Server中的不同对象。第一个是服务器级主体,第二个是数据库级主体。当然,数据库角色的成员将是数据库级别的主体。

列SID用于将服务器主体和数据库主体连接在一起。当您移动数据库时,如果SID不匹配,则角色的“用户”将成为孤儿,您将无法连接到数据库,更不用说在角色中使用权限了。有许多方法可以确保SID是您想要的,包括使用服务提供商_雷夫_helplogin和my 服务提供商_srvpermissions权限。我更详细地讨论了这个问题,这里

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/90227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档