AUTH_GET_INSTANCE_AUTHID - インスタンス所有者の許可 ID の取得
AUTH_GET_INSTANCE_AUTHID スカラー関数はインスタンス所有者の許可 ID を戻します
構文
スキーマは SYSPROC です。
許可
AUTH_GET_INSTANCE_AUTHID スカラー関数に対する EXECUTE 特権。
デフォルトの PUBLIC 特権
制限のないデータベースでは、この関数が自動的に作成されると、EXECUTE 特権が PUBLIC に付与されます。
戻される情報
この関数は、インスタンス所有者の許可 ID を指定するタイプ VARCHAR(128) の値を返します。
使用上の注意
SYSADM 権限を保持するユーザーに、暗黙的な DBADM 権限はありません。 そのため、インスタンス所有者アカウントで実行されたアプリケーションが、SYSADM 権限の範囲外の操作を実行した場合に、SQL1092N、SQL0551N、SQL0552N などの許可エラーが発生することがあります。
UPGRADE DATABASE コマンドと RESTORE DATABASE コマンドは、SYSADM グループに DBADM 権限を付与しなくなりました。
インスタンス所有者の許可 ID が保持している権限のリストを取得するには、次のようにします。
- SYSPROC.AUTH_GET_INSTANCE_AUTHID() スカラー関数を使用して、インスタンス所有者の許可 ID を判別します。
以下に例を示します。
db2 "VALUES SYSPROC.AUTH_GET_INSTANCE_AUTHID()"このコマンドにより、以下が戻されます。1 -------------------------------------- BOB 1 record(s) selected. - この許可 ID が持つ権限のリストを取得します。
以下に例を示します。
SELECT * FROM TABLE (SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID ('BOB', 'U') ) AS T ORDER BY AUTHORITY - 必要に応じて、欠落している権限を付与します。
例えば、
GRANT DBADM ON DATABASE TO USER BOB
例
次の例は、コマンド行プロセッサー (CLP) を使用してインスタンス所有者の許可 ID を取得する方法を示しています。
db2 "values SYSPROC.AUTH_GET_INSTANCE_AUTHID()"このコマンドの出力例は、次のとおりです。
1
-------------------------...-------------
ZURBIE
1 record(s) selected.