S04004

错误代码

S04004

报错信息

Non-admin users cannot {action} the {prev} privilege. Contact the administrator. RefId: S04004

错误原因

当设置权限时的用户为非 admin 用户,且设置了不包含以下列表的权限时,会报此错误:

  • TABLE_READ
  • TABLE_WRITE
  • TABLE_INSERT
  • TABLE_UPDATE
  • TABLE_DELETE
  • DB_READ
  • DB_WRITE
  • DB_INSERT
  • DB_UPDATE
  • DB_DELETE
  • DBOBJ_DELETE
  • DBOBJ_CREATE
  • VIEW_EXEC

解决办法

非 admin 用户只能设置以上权限,且不能是"*";并需要拥有对应 objs 的权限。例如:

权限类型

需要的权限

  • TABLE_READ
  • TABLE_WRITE
  • TABLE_INSERT
  • TABLE_UPDATE
  • TABLE_DELETE
该表对应的数据库的 DB_MANAGE 权限,或者是该数据库的创建者。
  • DB_READ
  • DB_WRITE
  • DB_INSERT
  • DB_UPDATE
  • DB_DELETE
  • DBOBJ_DELETE
  • DBOBJ_CREATE
该数据库的 DB_MANAGE 权限,或者是该数据库的创建者。
  • VIEW_EXEC
拥有 VIEW_OWNER 权限,且是该函数视图的创建者。