问个修改数据库用户权限的问题

米七 2007-11-14 11:09:25
我这里有个数据库用户,需要给的权限是db_datareader+db_datawriter,但是在这个基础上要拒绝所有对象的delete权限,请问能不能通过脚本来一次性的更改这个权限,因为有300多个表,如果通过企业管理器修改的话太累了。
...全文
117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxmcxm 2007-11-15
  • 打赏
  • 举报
回复
联机丛书中的示例:

A. 授予语句权限
下面的示例给用户 Mary 和 John 以及 Windows NT 组 Corporate\BobJ 授予多个语句权限。

GRANT CREATE DATABASE, CREATE TABLE
TO Mary, John, [Corporate\BobJ]

B. 在权限层次中授予对象权限
下例显示权限的优先顺序。首先,给 public 角色授予 SELECT 权限。然后,将特定的权限授予用户 Mary、John 和 Tom。于是这些用户就有了对 authors 表的所有权限。

USE pubs
GO

GRANT SELECT
ON authors
TO public
GO

GRANT INSERT, UPDATE, DELETE
ON authors
TO Mary, John, Tom
GO

C. 给 SQL Server 角色授予权限
下面的示例将 CREATE TABLE 权限授予 Accounting 角色的所有成员。

GRANT CREATE TABLE TO Accounting

D. 用 AS 选项授予权限
用户 Jean 拥有表 Plan_Data。Jean 将表 Plan_Data 的 SELECT 权限授予 Accounting 角色(指定 WITH GRANT OPTION 子句)。用户 Jill 是 Accounting 的成员,他要将表 Plan_Data 上的 SELECT 权限授予用户 Jack,Jack 不是 Accounting 的成员。

因为对表 Plan_Data 用 GRANT 语句授予其他用户 SELECT 权限的权限是授予 Accounting 角色而不是显式地授予 Jill,不能因为已授予 Accounting 角色中成员该权限,而使 Jill 能够授予表的权限。Jill 必须用 AS 子句来获得 Accounting 角色的授予权限。

/* User Jean */
GRANT SELECT ON Plan_Data TO Accounting WITH GRANT OPTION

/* User Jill */
GRANT SELECT ON Plan_Data TO Jack AS Accounting

米七 2007-11-14
  • 打赏
  • 举报
回复
楼上的大哥,能不能顺便说说脚本怎么个写法?谢谢。
SQLServer_2008 2007-11-14
  • 打赏
  • 举报
回复
可以.

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧