Chinaunix首页 | 论坛 | 博客
  • 博客访问: 376597
  • 博文数量: 1051
  • 博客积分: 53280
  • 博客等级: 大将
  • 技术积分: 6670
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:21
文章分类

全部博文(1051)

文章存档

2011年(1)

2008年(1050)

我的朋友

分类:

2008-09-09 15:45:49


  系统的进程 sp_helprotect, 在当前的SQL Server中鉴别许可. 系统进程接受四个可选参数:
  
  @name: 这个是数据库对象名. 这个参数的值可能可能是一个语句许可。
  @username: 这个是数据库中用户的账号.这个可能是标准的SQL Server登陆或者一个用户或者组登陆,它们都是数据库用户账号。
  @grantorname: 这个是已经授予数据库对象许可的数据库用户账号名。
  @permissionarea: 这个参数可能返回o或者s,也有可能两个一起返回。
  
  @name参数的有效语句可能是下面的其中一个:
  
  CREATE DATABASE
  CREATE DEFAULT
  CREATE FUNCTION
  CREATE PROCEDURE
  CREATE RULE
  CREATE TABLE
  CREATE VIEW
  BACKUP DATABASE
  BACKUP LOG
  如果没有参数被使用,sp_helprotect将返回所有被授予的许可或者拒绝所有的对象和语句许可。为了从这个进程获得输出更好的可读性,你需要以各自的形式来查看结果。
  
  下面的脚本将展示sp_helprotect如何使用并在 Northwind 数据库中运行:
  
  USE Northwind
  GO
  EXEC sp_helprotect @name = 'Orders'
  GO
  EXEC sp_helprotect @permissionarea = 's'
  GO
  EXEC sp_helprotect @permissionarea = 'o'
  GO
  EXEC sp_helprotect @permissionarea = 's o'
  GO
  
  首个sp_helprotect语句将会返回Orders表格的许可。其他三个系统进程语句将返回基于 @permissionarea参数的结果。
  
  
【责编:admin】

--------------------next---------------------

阅读(168) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~