您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

SQL Server的GRANT用法简介

添加时间:2013-5-4 17:45:01  添加: 思海网络 

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,最后三行应该显示皮特以及他刚才所获得授权的信息。

关键字:SQL Server、数据库、GRANT

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站