GRANT用法简介
来源:互联网 发布:win8电脑优化 编辑:程序博客网 时间:2024/06/17 06:56
SQL Server 2000的GRANT语句用于向用户、角色和组授予使用数据库对象以及运行某些存储过程和函数的权限。
GRANT的语法非常简单——虽然它是SQL Server 2000中功能最强大的语句之一。下面的例子授予皮特(Pete)对pubs数据库中的authors表进行 INSERT、UPDATE和DELETE的权限。WITH GRANT OPTION表示皮特也可以用这些语句来向其它用户授权。USE pubs
GO
GRANT INSERT, UPDATE, DELETE
ON authors
TO Pete
WITH GRANT OPTION
GO
你也可以授予皮特ALL权限,这样他还可以使用CREATE DATABASE、CREATE FUNCTION、CREATE RULE、CREATE TABLE、BACKUP DATABASE以及其它语句。不过,我们一般都希望限制用户的访问和操作数据库的权限。
除了对单独的用户外,你还可以对SQL Server角色、Windows NT用户以及Windows NT组使用GRANT语句。如果用户和(或者)组或者角色之间存在授权冲突,那么按照最严格的授权处理。不能对其它数据库的用户、角色或者组进行授权。
你可以用REVOKE语句来解除已经授予的权限。你也可以用DENY语句来停止阻止用户从他(她)所从属的组(或者角色)那里来得到授予该组(或者角色)的权限。
在下面的例子中,我们将会看到拥有pubs数据库中的authors表权限的人有哪些。然后,我们给予皮特访问数据库的权限。最后,我们再给他对authors表执行INSERT、UPDATE和DELETE的权限。
首先,我们运行sp_helpprotect来看看authors表格上哪些人有哪些权限。
Exec sp_helprotect authors
GO
结果应该与下面类似:
Owner Object GRANTee GRANTor ProtectType Action Column
----- ------ ------- ----------- ------------- --------- -------
dbo authors guest dbo GRANT Delete
dbo authors guest dbo GRANT Insert
dbo authors guest dbo GRANT References (All+New)
dbo authors guest dbo GRANT Select (All+New)
dbo authors guest dbo GRANT Update (All+New)
由于在皮特得到访问数据库的权限之前,我们不能向他授以执行任何语句的权限,因此,我们应该首先让皮特获得访问数据库的权限。(实际上,为了可以使用已授予的权限,皮特需要一个SQL Server 2000登录帐号和访问该数据库的许可。这个例子为一个SQL Server 2000中尚未存在的用户创建访问数据库的许可。)
EXEC sp_GRANTdbaccess Pete
GO
你将会看到“GRANTed database access to 'Pete”。
让我们运行较早前提到的GRANT INSERT, UPDATE, DELETE语句。现在重新执行sp_helpprotect,最后三行应该显示皮特以及他刚才所获得授权的信息。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- GRANT用法简介
- Oracle Grant用法
- mysql的grant用法
- mysql的grant用法
- MySQL GRANT REVOKE用法
- Oracle GRANT用法
- mysql的grant用法
- MySQL GRANT REVOKE用法
- SQL中grant的用法
- SQL中grant的用法
- MySQL的 GRANT REVOKE用法
- MySQL之grant、revoke用法
- 查看用户权限与GRANT用法
- grant
- GRANT
- grant
- mysql中授权命令grant用法详解
- MySQL 创建用户的Grant命令用法
- 使用SQL-DMO来操控SQL服务器
- SQL 2005 CTE应用 - 月份表
- 使用递归触发器来操作指针
- ACEGI实现对 Java 对象的访问控制
- 安装apache
- GRANT用法简介
- “反演”是什么?
- SQL Server 2000的新特性:bigint数据类型
- 485集线器在总线型数据采集系统的应用
- 面向对象的关系数据库设计
- Clock
- 页面自动刷新
- 485总线数据通讯方式解析
- Java自学笔记之语言特点的再认识