sql利用sp_helprotect在数据库中鉴别许可

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

系统的存储进程 sp_helprotect, 在当前的SQL Server服务器中鉴别许可. 系统进程接受四个可选参数:

@name: 这个是数据库对象名. 这个参数的值可能可能是一个语句许可。

@username: 这个是数据库中用户的账号.这个可能是标准的SQL Server登陆或者一个Windows用户或者组登陆,它们都是数据库用户账号。

@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参数的结果。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航