程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 如何獲得SQLServer2000中知道對象的權限

如何獲得SQLServer2000中知道對象的權限

編輯:關於SqlServer
問題:如何獲得SQL Server 2000中知道對象的權限?
  解決:
  前幾天看到有人問是否可以方便的獲得SQL Server2000指定對象的權限和指定USER的權
  限。我寫了一個存儲過程,可以獲得用戶和角色的權限。請大家幫忙測試一下。看看是
  否還有BUG:-)
  
  IF OBJECTPROPERTY( OBJECT_ID( 'usp_getObjectAuthor' ) , 'IsProcedure' ) =1
  DROP PROC usp_getObjectAuthor
  GO
  /*************************************************************/
  /* Created By : leimin */
  /* Created On : 29 May 2004 */
  /* Description : This stored procedure returns the object permission which
  you */
  /* GRANT,DENY and REVOKE.
  */
  /**************************************************************/
  Create proc usp_getObjectAuthor
  @objectname sysname = null,
  @username sysname = null
  as
  set nocount on
  begin
  /**************************************************************/
  /* defined the initilization variable */
  /**************************************************************/
  Declare @rc int
  Declare @rowcount int
  Declare @groupid int
  
  Set @rc=0
  Set @rowcount=0
  
  /**************************************************************/
  /* Judge the input parameters ,if @objectname is null and @username is
  null */
  /* then return all objects authorization. */
  /*************************************************************/
  if @objectname is null and @username is null
  begin
  select object_name(a.id) as objectname,
  user_name(a.uid) as usename,
  case b.issqlrole when 1 then 'Group '
  else 'User'
  end as Role,
  case a.protecttype when 205 then 'Grant'
  when 204 then 'Grant'
  when 206 then 'Deny'
  else 'Revoke'
  end as ProtectType,
  case a.[action] when 26 then 'REFERENCES'
  when 178 then 'CREATE FUNCTION'
  when 193 then 'SELECT'
  when 195 then 'INSERT'
  when 196 then 'DELETE'
  when 197 then 'UPDATE'
  when 198 then 'CREATE TABLE'
  when 203 then 'CREATE DATABASE'
  when 207 then 'CREATE VIEW'
  when 222 then 'CREATE PROCEDURE'
  when 224 then 'EXECUTE' <
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved