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 权限,且是该函数视图的创建者。