Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ SQL の使用法 » ストアドプロシージャ、トリガ、バッチ、ユーザ定義関数 » プロシージャ » プロシージャとファンクションを設定し所有者または呼び出し側の権限で実行する » 16.0 より前のバージョンのシステムプロシージャを呼び出し側または定義者として実行する

 

データベース (SQL) が使用するセキュリティモデルの決定

データベースの作成時またはアップグレード時に指定されたセキュリティモデル設定 (呼び出し側と定義者) を、Capabilities データベースプロパティのクエリによって取得します。

前提条件

この作業を実行するための前提条件はありません。

内容と備考

デフォルトでは、新しいデータベースは INVOKER モデルのみを使用して権限付きシステムプロシージャを実行します。これは、権限付き操作を実行する 16.0 より前のバージョンのシステムプロシージャが、ユーザがプロシージャを呼び出した権限で実行されることを意味します。この設定は、データベースの作成時またはアップグレード時に変更できます。この方法を使用して、指定したセキュリティモデル設定 (呼び出し側と定義者) を決定できます。

 ♦ タスク
  • Interactive SQL で、データベースにログインし、次の SQL 文を実行します。

    SELECT IF ((HEXTOINT(SUBSTRING(DB_PROPERTY('Capabilities'),1,LENGTH(DB_PROPERTY('Capabilities'))-20)) & 8) = 8)
    THEN 1
    ELSE 0
    END IF

結果

A 1 は、権限付き操作を実行する 16.0 より前のバージョンのシステムプロシージャが、呼び出し側モデルを使用して実行されたことを示します。A 0 は、プロシージャが定義者 (所有者) の権限で実行されたことを示します。

次の手順

なし。

 参照