如何将架构所有者更改为系统? (DB2)
how to change schema owner to system? (DB2)
如何将 myschema 所有者更改为系统?
当我尝试执行时
TRANSFER OWNERSHIP OF SCHEMA MYSCHEMA TO USER SYSIBM REVOKE PRIVILEGES
得到错误
SQL Error [42602]: The operation failed because the specified authorization name does not meet the identifier naming rules. Authorization name: "SYSIBM".. SQLCODE=-567, SQLSTATE=42602, DRIVER=4.26.14
根据评论,Db2 不允许您将对象显式创建(或转移所有权)到系统模式(以 SYS* 开头的模式)中。
那些 SYS* 模式保留供 Db2 本身使用,并且仅由 IBM 管理。保留的模式名称是特定于平台的。因此它们可以在 Db2-for-i、Db2-for-Linux/Unix/Windows、Db2-for-Z/OS.
之间有所不同
你没有解释为什么你想做这样的事情,但如果你的真正动机是保护MYSCHEMA
那么你必须在能力范围内实现你的目标REVOKE
和 GRANT
语句。例如,看看从 PUBLIC 撤销。
如何将 myschema 所有者更改为系统?
当我尝试执行时
TRANSFER OWNERSHIP OF SCHEMA MYSCHEMA TO USER SYSIBM REVOKE PRIVILEGES
得到错误
SQL Error [42602]: The operation failed because the specified authorization name does not meet the identifier naming rules. Authorization name: "SYSIBM".. SQLCODE=-567, SQLSTATE=42602, DRIVER=4.26.14
根据评论,Db2 不允许您将对象显式创建(或转移所有权)到系统模式(以 SYS* 开头的模式)中。
那些 SYS* 模式保留供 Db2 本身使用,并且仅由 IBM 管理。保留的模式名称是特定于平台的。因此它们可以在 Db2-for-i、Db2-for-Linux/Unix/Windows、Db2-for-Z/OS.
之间有所不同你没有解释为什么你想做这样的事情,但如果你的真正动机是保护MYSCHEMA
那么你必须在能力范围内实现你的目标REVOKE
和 GRANT
语句。例如,看看从 PUBLIC 撤销。