日期:2014-05-17  浏览次数:20599 次

关于sql server 2008权限分配的一个问题
本帖最后由 guangguang2007 于 2013-02-18 16:26:43 编辑
我要的结果是这样:只能有查询表的权限,而且还要有运行SQL Server Profiler的权限。这样才能跟踪发现问题,当然解决问题是另外一回事,即不能有修改和更新存储过程的权限。
我在分配角色成员时,给相关的登录用户名赋予了“db_datareader”的角色,这样就只有查询表的权限了。但是运行SQL Server Profiler的时候,会提示“您必须是 sysadmin 固定服务器角色的成员或具有 ALTER TRACE 权限,才能对 SQL Server 运行跟踪。”
请问我现在该怎么办?难道我 要求的这两个权限不能同时成立?

------解决方案--------------------
授予一个trace权限即可

use [master]
GO
GRANT ALTER TRACE TO [user]
GO

------解决方案--------------------
grant VIEW DEFINITION to [user]
 然后用sp_helptext '存储过程名'就可以看到内容,但是加密的就不能看
------解决方案--------------------
那不能赋予execute权限,那是执行权限
需要赋予查看定义权限
grant view definition to [user]
------解决方案--------------------
UPDATE 权限默认授予 sysadmin 固定服务器角色、db_owner 和 db_datawriter 固定数据库角色以及表所有者的成员。sysadmin、db_owner 和 db_securityadmin 角色成员以及表所有者可以将权限转让给其他用户。

所以你赋予的db_datareader没有这个权限。