您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_displayaudit

语法


sp_displayaudit ["procedure" | "object" | "login" | "database" | "global" | 
	"default_object" | "default_procedure" | "role" [, "<name>"]]

参数

procedure

显示指定的存储过程或触发器的审计选项的状态。如果未指定 <name> 的值,将显示当前数据库中所有过程和触发器的活动审计选项。

object

显示指定的表或视图的审计选项的状态。如果未指定 <name> 的值,将显示当前数据库中所有表和视图的活动审计选项。

login

显示指定的用户登录的审计选项的状态。如果未指定 <name> 的值,将显示 master 数据库中所有登录的活动审计选项。

database

显示指定数据库的审计选项的状态。如果未指定 <name> 的值,将显示服务器中所有数据库的活动审计选项。

global

显示指定的全局审计选项的状态。如果未指定 <name> 的值,将显示当前数据库中所有过程和触发器的活动审计选项。

default_object

显示将用于在指定的数据库上创建的任意新表或视图的缺省审计选项。如果未指定 <name> 的值,将显示所有具有活动缺省审计设置的数据库的缺省审计选项。

default_procedure

显示用于在指定的数据库上创建的任意新过程或触发器的缺省审计选项。如果未指定 <name> 的值,将显示所有具有活动缺省审计设置的数据库的缺省审计选项。

role

显示指定角色名称的审计选项的状态。如果未指定 <name> 的值,将显示所有角色的活动审计选项。

<name>

是指定参数的信息。参数和其值为:

  • procedure

    过程或触发器名

  • object

    表或视图名

  • login

    用户登录名

  • database

    数据库名

  • global

    全局审计选项

  • default_object

    数据库名

  • default_procedure

    数据库名

  • role

    角色名称

    除非先指定了对象类型参数,否则不能指定 <name> 的值。

    示例

    示例 1

    当未指定参数时,将显示每个类别的状态和所有审计选项:

    
    sp_displayaudit
    go
    
    No sprocs/triggers currently have auditing enabled.
    No databases currently have default sproc/trigger auditing enabled.
    No objects currently have auditing enabled.
    No databases currently have default table/view auditing enabled.
    No logins currently have auditing enabled.
    
     Database Name    Audit Option       Value
     -------------- ------------------ ----------------------------
      master            allow            on
      master            create           on
      pubs2             create           on
      pubs2             encryption_key   on
    
    (1 row affected)
     
     Audit Option      Value   Subject Name     Type of Subject
     ------------------------------------------------------------
         all          on       sa_role         role
         login        on       All             All logins and roles
         login        on       sa              login
         login        on       chris           login
         mount        on       All             All logins and roles
         security     on       All             All logins and roles
    
    (1 row affected)
    (return status = 0)
    

    示例 2

    当未指定全局审计选项时,将显示所有全局审计选项的状态:

    
    sp_displayaudit "global"
    go
    
     Audit Option      Value   Subject Name     Type of Subject
     ------------------------------------------------------------
         all          on       sa_role         role
         login        on       All             All logins and roles
         login        on       sa              login
         login        on       chris           login
         mount        on       All             All logins and roles
         security     on       All             All logins and roles
    

    示例 3

    当未指定过程名时,将显示所有过程审计选项的状态:

    
    use sybsystemprocs
    go
    
    sp_displayaudit "procedure"
    go
    
    Procedure/Trigger    Audit Option   Value Database
     -----------------   -------------- ----- ---------------------
     dbo.sp_altermessage exec_procedure on    sybsystemprocs
     dbo.sp_help         exec_procedure on    sybsystemprocs
     dbo.sp_who          exec_procedure on    sybsystemprocs
    

    示例 4

    当指定了过程名时,只显示该过程的状态:

    
    use sybsystemprocs
    go
    
    sp_displayaudit "procedure", "sp_addlogin"
    go
    
    Procedure/Trigger Audit Option    Value Database
    ----------------- --------------- ----- ----------------------
    dbo.sp_addlogin        exec_procedure  on    sybsystemprocs
    

    示例 5

    显示全局 login 选项的状态:

    
    sp_audit "login", "intern_role", "all", "on" 
    go
    
    sp_audit "login", "sa", "all", "on"
    go
    
    sp_displayaudit "global", "login"
    go
    
    Subject Name        Audit Option     Value       Type of Subject
    ----------------- ---------------- ----------- -----------------
         login           on            intern_role       role
         login           on            sa                login
         
    

    示例 6

    显示 intern_role 的审计选项的状态:

    
    sp_audit "all", "intern_role", "all", "fail"
    go
    
    sp_displayaudit "role", "intern_role"
    go
    
    Role Name    Audit Option   Value 
     -----------------   -------------- -----  
     intern_role         all             fail 
    

    用法

    每个参数的有效审计选项包括:

    对象类型参数 有效审计选项
    procedure exec_procedure、exec_trigger
    object delete、func_obj_access、insert、reference、select、update
    login all, cmdtext, table_access, view_access
    database alter、bcp、bind、create、dbaccess、drop、dump、dump_config、encryption_key、errorlog、errors、func_dbaccess、grant、load、revoke、setuser、truncate、unbind
    global adhoc、cluster、config_history、dbcc、disk、dtm_tm_role、errors、ha_role、hadr_admin_role、js_admin_role、js_client_role、js_user_role、keycustodian_role、login、login_admin、login_locked、logout、messaging role、mon_role、mount、navigator_role、oper_role、password、quiesce、replication_maint_role_gp、replication_role、role、role_locked、rpc、sa_role、security、security_profile、sproc_auth、sso_role、thread pool、unmount、webservices_role
    default_object delete、func_obj_access、insert、reference、select、update

    |default_procedure|exec_procedure、exec_trigger|