• SQL Server-查找数据库对象的用户或语句权限


    摘自: http://www.yesky.com/imagesnew/software/tsql/ts_sp_help_1rxw.htm

    sp_helprotect

    返回一个报表,报表中包含当前数据库中某对象的用户权限或语句权限的信息。

    语法

    sp_helprotect [ [ @name 'object_statement]
        [ @username 'security_account]
        [ @grantorname 'grantor]
        [ @permissionarea 'type]

    列名数据类型描述
    Owner sysname 对象所有者的名称。
    Object sysname 对象的名称。
    Grantee sysname 被授予权限的用户的名称。
    Grantor sysname 向指定的被授权限用户进行授权的用户的名称。
    ProtectType char(10) 保护类型的名称:

    GRANT
    REVOKE

    Action varchar(20) 权限的名称:

    REFERENCES
    SELECT
    INSERT
    DELETE
    UPDATE
    CREATE TABLE
    CREATE DATABASE
    CREATE FUNCTION
    CREATE RULE
    CREATE VIEW
    CREATE PROCEDURE
    EXECUTE
    BACKUP DATABASE
    CREATE DEFAULT
    BACKUP LOG

    Column sysname 权限的类型:

    All = 权限适用于对象所有的当前列。
    New = 权限适用于任何以后可以在对象上进行修改(使用 ALTER 语句)的新列。
    All+New = All 和 New 的组合。

    注释

    该过程的所有参数都是可选的。如果不带参数执行 sp_helprotect,将显示当前数据库中所有已经授予或拒绝的权限。

    如果指定了一部分参数,而不是指定全部参数,请使用命名参数来标识特定的参数,或者使用 NULL 作为占位符。例如,若要报告授予方 dbo 的所有权限,请执行:

    EXEC sp_helprotect NULL, NULL, dbo
    

    EXEC sp_helprotect @grantorname = 'dbo'
    

    输出报表按权限分类、所有者、对象、被授予方、授予方、保护类型分类、保护类型、动作以及列连续 ID 进行排序。

    权限

    执行权限默认授予 public 角色。

    示例
    A. 列出某个表的权限

    下面的示例列出了表 titles 的权限。

    EXEC sp_helprotect 'titles'
    
    B. 列出某个用户的权限

    下面的示例列出当前数据库中用户 Judy 所拥有的所有权限。

    EXEC sp_helprotect NULL, 'Judy'
    
    C. 列出由某个特定的用户授予的权限

    下面的示例列出了当前数据库中由用户 Judy 授予的所有权限,使用 NULL 作为缺少的参数的占位符。

    EXEC sp_helprotect NULL, NULL, 'Judy'
    
    D. 仅列出语句权限

    下面的示例列出当前数据库中所有的语句权限,使用 NULL 作为缺少的参数的占位符。

    EXEC sp_helprotect NULL, NULL, NULL, 's'
  • 相关阅读:
    【机器学习】关联规则挖掘(二):频繁模式树FP-growth
    【机器学习】关联规则分析(一):Apriori
    【机器学习】聚类算法——K均值算法(k-means)
    【机器学习】分类器组合——AdaBoost
    tensorflow 中 Cross Entropy算法理解
    修改文件夹中的文件名
    poj 2635
    噪音样本
    流量录制回放助力接口自动化测试
    git
  • 原文地址:https://www.cnblogs.com/roseHLF/p/7209450.html
Copyright © 2020-2023  润新知