> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# データベースの作成

> 管理および監視コンソールから FlexiCapture データベースを作成し、クライアントドライバーをインストールして、ファイルストレージを設定し、エンジンの権限を付与します。

FlexiCapture データベースは、管理および監視コンソールから作成します。設定によっては、新しいデータベースを作成するか、[既存のデータベースに接続する](/ja/flexi-capture/admin-guide/database-connect)ことができます。

<Note>
  ABBYY FlexiCapture Release 4 Update 2 では、PostgreSQL はデフォルトで有効になっています。ABBYY FlexiCapture のそれ以前のバージョンで PostgreSQL データベースを使用するには、まず [PostgreSQL を有効にする](/ja/flexi-capture/postgres-sql-enable) 必要があります。
</Note>

<div id="create-a-new-database">
  ## 新しいデータベースの作成
</div>

<Steps>
  <Step title="データベースクライアントドライバーをインストールする">
    Application Server がインストールされているコンピューターに、次のいずれかのクライアント ドライバーをインストールします。

    * [Microsoft SQL Server Native Client](https://www.microsoft.com/en-us/download/details.aspx?id=50402) 2012 以降
    * [Oracle Data Access Components (ODAC)](https://www.oracle.com/database/technologies/odac-downloads.html) (Application Server と同じビット数のもの)
    * [psqlODBC](https://odbc.postgresql.org/) バージョン 11 以降

    Microsoft SQL Server Native Client をインストールせずにデータベースを作成しようとすると、次のエラー メッセージが表示されます: `Provider cannot be found. It may not be properly installed.`

    <Note>
      Microsoft SQL Server 2016 SP2 以降、または Microsoft SQL Management Studio 2016 SP2 以降がインストールされている場合は、Microsoft SQL Server Native Client をインストールする必要はありません。
    </Note>
  </Step>

  <Step title="管理および監視コンソールを開きます">
    Application Server がインストールされているコンピューターで、Windows の管理者アカウントを使用してサインインします。管理および監視コンソールを開き、**Service → Application Server** をクリックして、`https://<ApplicationServer>/FlexiCapture12/Monitoring/#Settings/DbConn` ページを開きます。ここで、`<ApplicationServer>` は Application Server をホストしているコンピューター名です。

    <Frame>
      <img src="https://mintcdn.com/abbyy/mpS3pcxC_lkohQUS/images/flexi-capture/No_DB_connection.png?fit=max&auto=format&n=mpS3pcxC_lkohQUS&q=85&s=7bd6b6d62709a61d2949a5b067b3426a" alt="データベース接続前の FlexiCapture 管理および監視コンソールの Application Server ページのスクリーンショット。Create New Database ボタンが表示されています。" width="948" height="382" data-path="images/flexi-capture/No_DB_connection.png" />
    </Frame>

    <Note>
      すでに別のデータベースに接続している場合は、新しいデータベースを作成する前に既存のセッションを閉じてください。それができない場合、またはその必要がない場合は、`<IIS Root Directory>\FlexiCapture12\Monitoring` にある `web.config` ファイルに次のキーを追加します (既定の IIS ルートの場所は `C:\inetpub\wwwroot` です) 。

      ```xml theme={null}
      <appSettings>
      <add key="IgnoreCurrentSessions" value="true"/>
      </appSettings>
      ```

      これにより、既存のセッションに関する警告を表示せずに新しいデータベースが作成され、古いデータベース内のすべてのセッションは保持されます。既定では、このキーは `false` に設定されており、新しいデータベースの作成時にセッションを閉じるよう求められます。
    </Note>
  </Step>

  <Step title="接続設定を指定します">
    **Create New Database** ボタンをクリックします。開いたデータベース作成ページで、次の項目を指定します。

    * `<server name>\<instance name>` の形式で、サーバーインスタンス名
    * 新しいデータベースの名前
    * データベースに必要な権限を持つユーザーアカウント

    データベースサーバーとの通信には、Named Pipes ではなく TCP/IP プロトコルを選択します。このプロトコルは、Application Server をホストするコンピューター上で Microsoft SQL Server クライアントを構成する際に設定します。

    表示されるスクリーンショットと固有の要件に応じて、データベースの型を選択します。

    <Tabs>
      <Tab title="Microsoft SQL Server">
        <Frame>
          <img src="https://mintcdn.com/abbyy/IFr-A2MDVJd80FDs/images/flexi-capture/DB_new_connection_SQL.jpg?fit=max&auto=format&n=IFr-A2MDVJd80FDs&q=85&s=80dfb29d66da3edbdde50d12cfaa9e4f" alt="MS SQL オプションが選択された FlexiCapture 管理および監視コンソールの Create new database ページのスクリーンショット。サーバーインスタンス名、データベース名、および認証 field が表示されています。" width="1199" height="875" data-path="images/flexi-capture/DB_new_connection_SQL.jpg" />
        </Frame>

        Microsoft SQL Server によるデータベース名の制限に注意してください。詳細については、[この Microsoft Web サイト](https://msdn.microsoft.com/en-us/library/ms175874.aspx)を参照してください。
      </Tab>

      <Tab title="Oracle">
        <Frame>
          <img src="https://mintcdn.com/abbyy/IFr-A2MDVJd80FDs/images/flexi-capture/DB_new_connection_Oracle.jpg?fit=max&auto=format&n=IFr-A2MDVJd80FDs&q=85&s=f7a7f9369829867f00e2a88b854c8a7e" alt="Oracle オプションが選択された FlexiCapture 管理および監視コンソールの Create new database ページのスクリーンショット。サーバーインスタンス名とサーバーアクセス認証 field が表示されています。" width="1199" height="875" data-path="images/flexi-capture/DB_new_connection_Oracle.jpg" />
        </Frame>

        接続に使用するユーザーには、"DBA" WITH ADMIN OPTION ロールと、"SYS"."DBMS\_LOCK" に対する EXECUTE 権限が必要です。Oracle のユーザー名に関する制限にも注意してください。詳細については、[Oracle Web サイト](https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements008.htm#i27570)を参照してください。
      </Tab>

      <Tab title="Azure">
        <Frame>
          <img src="https://mintcdn.com/abbyy/IFr-A2MDVJd80FDs/images/flexi-capture/DB_new_connection_Azure.jpg?fit=max&auto=format&n=IFr-A2MDVJd80FDs&q=85&s=5a23fa8dd8afed853ed14e62d4e6a8ab" alt="Azure オプションが選択された FlexiCapture 管理および監視コンソールの Create new database ページのスクリーンショット。サーバーインスタンス名、データベース名、およびデータベースサーバー認証 field が表示されています。" width="1198" height="874" data-path="images/flexi-capture/DB_new_connection_Azure.jpg" />
        </Frame>
      </Tab>

      <Tab title="PostgreSQL">
        <Frame>
          <img src="https://mintcdn.com/abbyy/IFr-A2MDVJd80FDs/images/flexi-capture/DB_new_connection_PostgresSQL.jpg?fit=max&auto=format&n=IFr-A2MDVJd80FDs&q=85&s=39d3c203f03918cb303701e20ca4f07c" alt="PostgreSQL オプションが選択された FlexiCapture 管理および監視コンソールの Create new database ページのスクリーンショット。サーバーインスタンス名、データベース名、およびデータベースサーバー認証 field が表示されています。" width="948" height="652" data-path="images/flexi-capture/DB_new_connection_PostgresSQL.jpg" />
        </Frame>

        PostgreSQL データベースを作成するには、ユーザーに `CREATEDB`+`CREATEROLE` または `SUPERUSER` のロール attributes が必要です。必要な権限を持つユーザーアカウントは自動的に作成され、`FCUser12_DatabaseName` 形式の名前が付けられます (`DatabaseName` はデータベース名です) 。
      </Tab>
    </Tabs>
  </Step>

  <Step title="ファイルストレージを設定する">
    **Use external file storage** オプションを選択し、ファイル ストレージのパスを指定します。ファイル ストレージには、文書画像、プロジェクト設定、抽出されたデータなどのバイナリ データが保存されます。

    最適なパフォーマンスを得るには、ファイル ストレージを Application Server と同じディスクに配置してください。エンタープライズ環境では、フェイルセーフ ディスク、RAID、または高性能な外部ストレージを使用してください。ファイル ストレージを、ウイルス対策ソフトウェアの除外設定と Windows Search インデクサーの除外対象に追加してください。

    ファイル ストレージを使用せずに実行する方法を含む詳細については、[Set up a file storage](/ja/flexi-capture/web-stations/monitoring-console/mmc-app-serv-storage) を参照してください。
  </Step>

  <Step title="接続をテストする">
    入力した値を確認するには、**Test Connection** ボタンを使用します。テストが成功したら、**OK** をクリックします。

    接続のテスト時に認証の問題が発生した場合は、Microsoft SQL Server で **Mixed Authentication Mode** ("SQL Server and Windows authentication") が有効になっていることを確認してください。

    <Frame>
      <img src="https://mintcdn.com/abbyy/IFr-A2MDVJd80FDs/images/flexi-capture/DB_connection.png?fit=max&auto=format&n=IFr-A2MDVJd80FDs&q=85&s=0401e4b566b699cf8686da5213bd315a" alt="FlexiCapture の管理および監視コンソールにある Application server の Current settings ページのスクリーンショット。MS SQL のサーバーインスタンス名、データベース名、ファイルストレージのパス、および Apply Patch、Connect to Existing Database、Create New Database の各ボタンが表示されています。" width="1053" height="673" data-path="images/flexi-capture/DB_connection.png" />
    </Frame>
  </Step>
</Steps>

<div id="after-you-create-the-database">
  ## データベースを作成した後
</div>

データベースが作成されると、ユーザー名と一時パスワードが表示されます。一時パスワードは `password` です。

<Note>
  ユーザーはログインページ (`https://<ApplicationServer>/FlexiCapture12/Login`。ここで、`<ApplicationServer>` は Application Server がインストールされているコンピューター名です) で一時パスワードを変更する必要があります。一時パスワードを変更すると、ユーザーは管理および監視コンソールにリダイレクトされます。
</Note>

データベースを作成したユーザーには、自動的に管理者権限が付与されます。管理者は次のことができます。

* Application Server の設定を変更する
* プロジェクトをアップロードする
* プロジェクトへのアクセス権限を付与する
* 新規ユーザーを作成し、そのロールとアクセス権限を管理する
* 別のユーザーに管理者ロールを付与し、そのユーザーに以降のシステム構成を委任する

データベースを作成したユーザーから管理者ロールを剥奪することはできません。

<div id="what-happens-when-the-database-is-created">
  ## データベースの作成時に行われる処理
</div>

1. **FlexiCapture 12 データベースが作成されます。** 使用されるアカウントは、認証メソッドによって異なります。

   * **サーバー認証** – **Settings → Application Server → Connect to Existing Database / Create New Database** ページで指定したアカウント。
   * **Windows 認証** – Application Server を表示しているブラウザーを実行しているアカウント。

   このアカウントで `Description.sql` が実行されてデータベースが作成され、その後 `DBInitFill.sql` が実行されてデータが格納されます。どちらのスクリプトも `<IIS Root Directory>\FlexiCapture12\Server` にあります (既定では `C:\inetpub\wwwroot`) 。同じフォルダー内の `Upgrade*.sql` ファイルは、データベースの作成には使用されません。
2. **Database サーバーのアカウントが追加されます。** これは、Application Server 上で FlexiCapture 12 Web Services のアプリケーション プールが実行に使用するアカウントです (既定では Network Service) 。
3. **手順 2 のアカウントに、手順 1 で作成された `FlexiCapture12` データベースに対する `db_owner` 権限が付与されます**。以降、Application Server はデータベースとのすべてのやり取りに手順 2 のアカウントを使用するため、手順 1 のアカウントが不要になった場合は削除できます。

<div id="database-permissions-and-privileges">
  ## データベースの権限と特権
</div>

<div id="microsoft-sql-server">
  ### Microsoft SQL Server
</div>

新しいデータベースを作成する場合:

* `CREATE ANY DATABASE` (新しいデータベースを作成するために必須)
* `SECURITYADMIN` (Application Server の実行アカウント用の新しいユーザーを作成するために必須)

既存のデータベースに接続する場合:

* `EXECUTE ON SCHEMA::DBO`
* `SELECT ON SCHEMA::DBO`

パッチのインストール時、データベースへの接続時、および使用時:

* `DB_DATAREADER`
* `DB_DATAWRITER` (DBInitFill)
* `DB_DDLADMIN`
* `ALTER ON DATABASE::<DB_NAME>` (復旧モデルの指定および Snapshot isolation の有効化に必須)
* `EXECUTE ON SCHEMA::DBO`
* `GRANT EXECUTE ON SCHEMA::DBO`
* `DB_BACKUPOPERATOR` (バックアップの作成とデータベースの復元に必須)
* `DB_ACCESSADMIN` (データベースにユーザーを追加するために必須)
* `DB_SECURITYADMIN` (データベース権限の管理に必須)

<div id="oracle">
  ### Oracle
</div>

Oracle データベースのユーザーがデータベースを使用し、パッチをインストールするには、次の特権が必要です:

* `CONNECT`
* `CREATE SESSION`
* `CREATE TABLE`
* `CREATE VIEW`
* `CREATE SEQUENCE`
* `CREATE PROCEDURE`
* `CREATE TYPE`
* `CREATE TRIGGER`
* `EXECUTE ON SYS.DBMS_LOCK`

<div id="postgresql">
  ### PostgreSQL
</div>

PostgreSQL データベースの作成手順は Microsoft SQL データベースの場合と同じですが、ユーザーには次のいずれかの特権が必要です:

* `CREATEDB+CREATEROLE`
* `SUPERUSER`
