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 サーバ - データベース管理 » データベースの起動とデータベースへの接続 » データベース・ファイルの処理 » ユーティリティ・データベースの使用

 

ユーティリティ・データベースへの接続

サーバへの接続時に utility_db をデータベース名として指定すると、データベース・サーバ上のユーティリティ・データベースを起動できます。-su サーバ・オプションを使用すると、DBA ユーザのユーティリティ・データベース・パスワードを設定したり、ユーティリティ・データベースへの接続を無効にしたりできます。-su オプションを指定しないでユーティリティ・データベースを起動すると、パーソナル・サーバの場合とネットワーク・サーバの場合では、ユーザ ID やパスワードの要件が変わります。

パーソナル・データベース・サーバの場合、-su オプションが指定されないと、ユーティリティ・データベースへの接続に関するセキュリティ上の制限はありません。パーソナル・サーバの場合、ユーザ ID として DBA を指定します。また、パスワードも指定する必要がありますが、どのようなパスワードでもかまいません。パーソナル・データベース・サーバに接続できるユーザであればファイル・システムに直接アクセスできると想定されているので、パスワードによるユーザの選別は行われません。

ユーティリティ・データベースのパスワードをプレーン・テキストで入力することを回避するには、-su オプションを使用してパスワードを含むファイルを作成し、dbfhide ユーティリティを使用してファイルの内容を難読化します。たとえば、ユーティリティ・データベースのパスワードを含むファイルの名前が util_db_pwd.cfg であるとします。dbfhide を使用してこのファイルを難読化し、util_db_pwd_hide.cfg という名前に変更します。

dbfhide util_db_pwd.cfg util_db_pwd_hide.cfg

その後、util_db_pwd_hide.cfg ファイルを使用して、ユーティリティ・データベースのパスワードを指定できます。

dbsrv11 -su @util_db_pwd_hide.cfg -n my_server c:\mydb.db

ファイル難読化ユーティリティ (dbfhide)を参照してください。

ネットワーク・サーバの場合、-su オプションが指定されないと、ユーザ ID として DBA を指定する必要があります。また、データベース・サーバの実行ファイルと同じディレクトリにある util_db.ini ファイルに格納されているパスワードも指定します。このディレクトリはサーバ上にあるため、ファイルへのアクセスを制御でき、パスワードを使用できるユーザも制御することができます。パスワードでは大文字と小文字が区別されます。

注意

util_db.ini ファイルの使用は推奨されません。-su サーバ・オプションを使用して、ユーティリティ・データベースの DBA ユーザのパスワードを指定してください。-su サーバ・オプションを参照してください。

♦  パーソナル・サーバ上のユーティリティ・データベースに接続するには、次の手順に従います (Interactive SQL の場合)。
  1. 次のコマンドを使用してデータベース・サーバを起動します。

    dbeng11 -n TestEng

    セキュリティを高めるため、-su オプションを使用して、ユーティリティ・データベース・パスワードを指定します。

  2. Interactive SQL を起動します。

  3. [接続] ウィンドウで、[ユーザ ID]DBA と入力し、ブランク以外のパスワードを入力します。パスワード自体は確認されませんが、フィールドを空白にすることはできません。

  4. [データベース] タブで、[データベース名]utility_db と入力し、[サーバ名]TestEng と入力します。

  5. [OK] をクリックして接続します。

    Interactive SQL は、TestEng というパーソナル・サーバ上のユーティリティ・データベースに接続します。

♦  ネットワーク・サーバ上のユーティリティ・データベースに接続するには、次の手順に従います (Interactive SQL の場合)。
  1. 次のコマンドを使用してデータベース・サーバを起動します。

    dbsrv11 -n TestEng -su 9Bx231K
  2. Interactive SQL を起動します。

  3. [接続] ウィンドウで、[ユーザ ID]DBA と入力し、-su オプションで指定したパスワードを入力します。

  4. [データベース] タブで、[データベース名]utility_db と入力し、[サーバ名]TestEng と入力します。

  5. [OK] をクリックして接続します。

    Interactive SQL は、TestEng というネットワーク・サーバ上のユーティリティ・データベースに接続します。

SQL Anywhere データベース接続-su サーバ・オプションを参照してください。

注意

ユーティリティ・データベースに接続するときに REVOKE CONNECT FROM DBA を実行すると、以降のユーティリティ・データベースへの接続が無効になります。これは、REVOKE CONNECT を実行する前に確立していた接続を使用するか、データベース・サーバを再起動しないかぎり、以降はユーティリティ・データベースに接続できないことを意味します。REVOKE 文を参照してください。

ネットワーク・データベース・サーバでの util_db.ini の使用 (旧式)
注意

util_db.ini ファイルの使用は廃止予定であるため、-su サーバ・オプションを使用して、ユーティリティ・データベースへの DBA ユーザのパスワードを指定することをおすすめします。

util_db.ini の使用は、データベース・サーバを実行するコンピュータの物理的なセキュリティに依存します。これは、テキスト・エディタを使用して util_db.ini ファイルを簡単に読み取れるからです。

ネットワーク・サーバの場合、デフォルトでは、-su オプションまたは util_db.ini を使用しないでユーティリティ・データベースに接続することはできません。util_db.ini を使用する場合、このファイルにパスワードが格納されています。このファイルは、データベース・サーバの実行プログラムと同じディレクトリに配置され、次のテキストを含んでいます。

[UTILITY_DB]
PWD=password

不用意な直接アクセスから util_db.ini ファイルの内容を保護するには、ファイル難読化ユーティリティ (dbfhide) を使って、ファイルに単純暗号化を追加します。オペレーティング・システムの機能を使用して、サーバのファイル・システムへのアクセスを制限することもできます。

.ini ファイルの難読化の詳細については、.ini ファイルの内容の非表示を参照してください。