要给一个架构的创建和修改存储过程权限,但是不给修改表的权限,该如何做
请给为大侠给小弟指点迷津
请给为大侠给小弟指点迷津
解决方案 »
- 这样的SQL语句应该怎么写?!
- 数据库系统原理的几个问题(求闭包、最小覆盖、范式)
- 出来此板,贴一个.不为别的就为混个脸熟: ) 放1分了要的快抢呀!
- 存取过程的作用和意义和基本编写语法
- sql server2000的管理界面标示数据库recovering,过一阵就正常了。是怎么回事??
- 在执行语句时出现:参数 @objname 不明确或所声明的 @objtype (column)错误
- 50分 数据库质疑问题日志
- 急,高手请帮忙!存储过程开发问题
- 在win2k上安装带"网络服务器“的sql server 2000企业器。需要先装些什么?
- 关于SQL自定义函数问题,急急急!!!
- SQL循环问题!大侠帮帮忙,能了几天了!
- 看看这个SQL语句怎么写!!
Use databaseName --创建角色
create role ProgramerRole --用于创建表 存储过程 视图
grant create table,create procedure,create view to ProgramerRole --execute用以执行存储过程,alter用以创建、修改存储过程和视图,
--并可以新建立表,但不能修改表,但也可以删除表和对表改名了
grant select,insert,execute,alter on schema::dbo to ProgramerRole --用于允许用户查看 显示估计的执行计划(081205)
grant showplan to ProgramerRole --创建登录账号
--create login username with password='password'
--创建数据库用户
create user username for login username --将用户TestUser添加到TestRole角色中
exec sp_addrolemember 'ProgramerRole','username ' --执行Sql Server Profiler是服务器级权限,所以在master库中授权
USE master;grant alter trace to auto;
语法GRANT { SELECT | EXECUTE } ON [ sys.]system_object TO principal 参数[ sys.]. 只有在引用目录视图和动态管理视图时才需要 sys 限定符。system_object 指定要对其授予权限的对象。principal 指定要向其授予权限的主体。 注释可使用该语句授予对 SQL Server 安装的特定存储过程、扩展存储过程、表值函数、标量函数、视图、目录视图、兼容性视图、INFORMATION_SCHEMA 视图、动态管理视图以及系统表的权限。上述每个系统对象都作为服务器的资源数据库 (mssqlsystemresource) 中的唯一记录而存在。该资源数据库为只读。指向对象的链接作为各数据库的 sys 架构中的一条记录显示。可以授予、拒绝和撤消执行或选择系统对象的权限。授予执行或选择对象的权限不一定会提供使用该对象所需的所有权限。多数对象执行的操作都需要其他权限。例如,被授予对 sp_addlinkedserver 的 EXECUTE 权限的用户无法创建链接服务器,除非该用户也是 sysadmin 固定服务器角色的成员。默认名称解析将解析资源数据库的非限定过程名称。因此,仅当指定目录视图和动态管理视图时,才需要 sys 限定符。不支持授予对触发器以及对系统对象列的权限。在 SQL Server 升级期间,对系统对象的权限将予以保留。在 sys.system_objects 目录视图中可以查看系统对象。在 master 数据库中的 sys.database_permissions 目录视图中可以查看对系统对象的权限。下面的查询将返回系统对象的权限的有关信息: