SET IDENTITY_INSERT权限问题,挑战高手
SET IDENTITY_INSERT
执行权限默认授予 sysadmin 固定服务器角色和 db_owner 及 db_ddladmin 固定数据库角色以及对象所有者。
我现在新建了一个test用户,他只有db_datareader、public和执行a存储过程的权限,
a存储过程里面含有SET IDENTITY_INSERT语句,当我用test这个用户登录上查询分析器。去执行存储过程a时出错,因为它没有权限执行SET IDENTITY_INSERT这句。请问如何给test用户开放SET IDENTITY_INSERT权限
注:sysadmin 、db_owner 、 db_ddladmin 这些权限都太高了,不能给test用户开放的。能否只单单开放一个
SET IDENTITY_INSERT权限
先谢了。
------解决方案-------------------- SET IDENTITY_INSERT
允许将显式值插入表的标识列中。
执行权限默认授予 sysadmin 固定服务器角色和 db_owner 及 db_ddladmin 固定数据库角色以及对象所有者。
把对应表的所有者改为test 不知行不行
哈哈,也没试过
------解决方案--------------------那就没办法了
又不能改owber,又不能改更高的权限。。。。。
/残念
提交给另一个用户执行吧,用job方式
------解决方案--------------------用 dbo 身份编写 a 存储过程(即 a 的所有者为 dbo)。
然后 grant execute on dbo.a to test
试试.
------解决方案--------------------如果有存储过程执行权限的话,
即使存储过程中某些权限没有也应当可以执行存储过程;