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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの起動とデータベースへの接続 » データベース・ファイルの処理 » ユーティリティ・データベースの使用

 

ファイル管理文の実行に必要なパーミッションの指定

データベース・サーバのオプション -gu は、誰がファイル管理文を実行できるかを制御します。このオプションを使用して、特定の管理タスクを実行できるユーザを指定します。-gu サーバ・オプションを参照してください。

ファイル管理文を使用するためのパーミッションには、4 つのレベルがあります。

-gu オプション 影響 適用対象
all 誰でもファイル管理文を実行できる ユーティリティ・データベースを含むすべてのデータベース
none 誰もファイル管理文を実行できない ユーティリティ・データベースを含むすべてのデータベース
DBA DBA 権限を持つユーザだけがファイル管理文を実行できる ユーティリティ・データベースを含むすべてのデータベース
utility_db ユーティリティ・データベースに接続できるユーザだけがファイル管理文を実行できる ユーティリティ・データベースのみ

ファイル管理文の使用を禁止するには、-gu オプションの none パーミッション・レベルを使用してデータベース・サーバを起動します。次のコマンドを入力すると、データベース・サーバが起動され、サーバ名が TestSrv になります。このコマンドによって mytestdb.db データベースがロードされますが、どのユーザも、そのサーバを使用してデータベースを作成または削除したり、他のファイル管理文を実行したりすることはできません。これは、ユーザのリソース作成権の有無や、ユーティリティ・データベースをロードして接続できるかどうかには関係ありません。

dbsrv11 -n TestSrv -gu none c:\mytestdb.db

ユーティリティ・データベースのパスワードを知っているユーザだけにファイル管理文の実行を許可するには、次のコマンドを実行してサーバを起動します。

dbsrv11 -n TestSrv -su secret -gu utility_db

次のコマンドを使用することによって、Interactive SQL をクライアント・アプリケーションとして起動し、サーバ TestSrv に接続して、ユーティリティ・データベースをロードし、ユーザを接続します。

dbisql -c "UID=DBA;PWD=secret;DBN=utility_db;ENG=TestSrv"

上記のコマンドを正常に実行できた場合、ユーザはユーティリティ・データベースに接続し、ファイル管理文を実行できるようになります。