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

SQL Anywhere 12.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 ファイルを使用して、ユーティリティデータベースのパスワードを指定できます。

    dbsrv12 -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 dbeng12/dbsrv12 サーバーオプションを参照してください。

    ネットワークデータベースサーバー用のユーティリティデータベースにパスワードを指定することは、データベースサーバーが実行中の場合には便利ですが、データベースに接続できません。たとえば、ミラーリングシステムでは、ユーティリティデータベースに接続してデータベースサーバーをシャットダウンしたり、必要に応じてミラーサーバーを強制的にプライマリサーバーにしたりできるようになります。ミラーリングシステムのデータベースサーバーの停止データベースサーバーの強制プライマリサーバー化を参照してください。

 ♦ パーソナルサーバー上のユーティリティデータベースに接続するには、次の手順に従います (Interactive SQL の場合)。
注意

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

  1. 次のコマンドを使用してデータベースサーバーを起動します。

    dbeng12 -n TestEng

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

  2. Interactive SQL を起動します。

  3. [接続] ウィンドウで、次の情報を指定します。

    1. [ユーザー ID] フィールドに DBA と入力します。

    2. [パスワード] フィールドに、空白でないパスワードを入力します。パスワード自体は確認されませんが、フィールドを空白にすることはできません。

    3. [アクション] ドロップダウンリストから、[このコンピューターで稼働しているデータベースに接続] をクリックします。

  4. [データベース名] フィールドに utility_db と入力します。

  5. [サーバー名] フィールドに TestEng と入力します。

  6. [接続] をクリックします。

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

 ♦ ネットワークサーバー上のユーティリティデータベースに接続するには、次の手順に従います (Interactive SQL の場合)。
注意

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

  1. 次のコマンドを使用してデータベースサーバーを起動します。

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

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

  4. [アクション] ドロップダウンリストで、[別のコンピューターで稼働しているデータベースに接続] をクリックします。

  5. [データベース名] フィールドに utility_db と入力します。

  6. [サーバー名] フィールドに TestEng と入力します。

  7. [接続] をクリックします。

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

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