免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1845 | 回复: 4
打印 上一主题 下一主题

【求助】SQL Server里面SET语句权限究竟该如何赋予分配? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-11 11:07 |只看该作者 |倒序浏览
我现在需要配置权限,要让一个普通的数据库用户能够执行一个sp,但是sp里面有这么一条语句:

SET IDENTITY_INSERT dbo.FR_OEHDRHST ON

执行时,得到以下错误信息:

服务器: 消息 8104,级别 16,状态 1,行 1
当前用户不是表 'dbo.FR_OEHDRHST' 的数据库或对象所有者。无法执行 SET 操作。

我想,这肯定是权限的缘故吧,查阅帮助文件,困惑随之而来:

论坛徽章:
0
2 [报告]
发表于 2004-10-11 11:09 |只看该作者

【求助】SQL Server里面SET语句权限究竟该如何赋予分配?

1>;在Grant语句帮助文件中,看到以下信息:

不需要权限即可执行的 Transact-SQL 语句有(已自动授予 public):

BEGIN TRANSACTION COMMIT TRANSACTION
PRINT RAISERROR
ROLLBACK TRANSACTION SAVE TRANSACTION
SET

有关执行系统存储过程所需权限的更多信息,请参见相应的系统存储过程。

这么说,SET语句是任何用户都可以执行的啊!

论坛徽章:
0
3 [报告]
发表于 2004-10-11 11:10 |只看该作者

【求助】SQL Server里面SET语句权限究竟该如何赋予分配?

2>;但是在“SET IDENTITY_INSERT”的帮助文件页面中,又看到以下内容:

权限
执行权限默认授予 sysadmin 固定服务器角色和 db_owner 及 db_ddladmin 固定数据库角色以及对象所有者。

从这里看来,只有sysadmin 固定服务器角色和 db_owner 及 db_ddladmin 固定数据库角色才能执行SET语句啊!

3>;想强制使用Grant语句设定权限,使用以下语句
GRANT SET IDENTITY_INSERT
ON dbo.FR_OEHDRHST
TO FIN2
或者
GRANT SET
ON dbo.FR_OEHDRHST
TO FIN2
说明:FIN2就是所说的普通用户名

又得到以下错误信息:

服务器: 消息 165,级别 16,状态 21,行 1
不能授予或废除特权 SET OPTION ON。
服务器: 消息 156,级别 15,状态 1,行 2
在关键字 'ON' 附近有语法错误。

现在我实在没辙了!只有来这里求助了!

论坛徽章:
0
4 [报告]
发表于 2004-10-11 17:30 |只看该作者

【求助】SQL Server里面SET语句权限究竟该如何赋予分配?

这个行吗
grant resource to 你的用户
resource角色具有建立触发器和过程的权限,主要授于开发人员,应该可以执行sp

论坛徽章:
0
5 [报告]
发表于 2004-10-12 09:20 |只看该作者

【求助】SQL Server里面SET语句权限究竟该如何赋予分配?

原帖由 "荣磊" 发表:
这个行吗
grant resource to 你的用户
resource角色具有建立触发器和过程的权限,主要授于开发人员,应该可以执行sp


现在问题不是这个用户没有执行sp的权限(执行sp的权限已经授予它了)而是没有执行sp里面的一个语句,也就是SET IDENTITY_INSERT的权限。

现在问题是,我找不到什么方法能够将执行这个语句SET IDENTITY_INSERT的权限授予给这个用户?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP