Jira アプリケーションの SQL Server 2019 への接続
ここでは、JIRA の Microsoft SQL Server 2019 データベースへの接続手順を説明します。
はじめる前に
- Jira アプリケーションを別のサーバに移行する場合は、データのエクスポートを XML バックアップとして作成します。その後、「データベースの切替」の説明に従い、元のデータベースから新しいデータベースへデータを移行できます。
- インストールを開始してセットアップ ウィザードを実行中の場合を除き、始める前に Jira を停止する必要があります。
1. SQL Server データベースを作成および構成する
あとで Jira をデータベースに接続する際に必要になるため、データベースを作成するときに、データベース名、ユーザ名、スキーマ名、ポート番号を記録しておきます。
Jira 用のデータベースを作成します (例:
jiradb
)。照合タイプでは、大文字と小文字が区別されないことに注意します。
SQL Server は Unicode エンコード形式で文字を格納します。これで、文字エンコード問題を十分回避できます。
Jira が接続時に使用するデータベース ユーザーを作成し、名前をつけます。(例:
jiradbuser
)。このユーザーはデータベース所有者以外にする必要があります。また、db_owner
ロールに含める必要があります。データベースに Jira のテーブルを格納するための空の「スキーマ」を作成します (例:
jiraschema
)。作成したデータベース ユーザーが、データベースに接続し、新しく作成したスキーマでテーブルを作成および更新できる権限を持っていることを確認します。
- SQL Server で TCP/IP が有効であり、適切なリスニング ポートが設定されていることを確認します。デフォルトの SQL Server インストールのユーザー ポート番号は 1433 です。
SQL Server が適切な認証モードで稼働していることを確認します。
- SET NOCOUNT オプションのチェックを外します。
- SQL Server Management Studio を開きます。
- [ツール] > [オプション] > [クエリ実行] > [SQL Server] > [詳細] の順に移動して、[SET NOCOUNT] チェックボックスを選択解除します。
オブジェクト エクスプローラーでサーバーを右クリックし、[プロパティ] > [接続] > [デフォルト接続] に移動します。no count オプションをクリアします。
新規作成したデータベース上で右クリックして、[クエリ コンソール] にアクセスし、 “New Query” を選択します。次のコマンドを実行し、分離レベルを設定します。
ALTER DATABASE THE-NEW-DATABASE-CREATED-FOR-JIRA SET READ_COMMITTED_SNAPSHOT ON
2. Jira を構成してデータベースに接続する
Jira Serverを構成して SQL Server データベースに接続するには、2 つの方法があります。
Jira セットアップ ウィザード を使用する — Jira をインストールした直後で、Jira を初めて設定する場合はこの方法を使用します。設定は、Jira アプリケーションのホーム ディレクトリの
dbconfig.xml
ファイルに保存されます。Jira 設定ツールを使用する — 既存の Jira インスタンスがある場合はこの方法を使用します。設定は、Jira アプリケーションのホーム ディレクトリの
dbconfig.xml
ファイルに保存されます。
データベース接続フィールド
以下の表は、Jira をデータベースに接続するときに入力する必要があるフィールドを示しています。dbconfig.xml
ファイルを作成または手動で編集する場合、この表や下記の dbconfig.xml
ファイルの例をご参照ください。
セットアップウィザード/設定ツール | dbconfig.xml | 説明 |
---|---|---|
ホスト名 |
| SQL Server がインストールされたサーバーマシンのマシン名または IP アドレスです。 |
ポート |
| SQL Server のサーバーがリスンする TCP/IP ポートです。このフィールドが空の場合、デフォルト ポートが使用されます。 |
データベース |
| SQL Server データベース (Jira のデータ保存先) の名前です。上記ステップ 1 で作成したものです。 |
ユーザ名 |
| Jira が SQL Server のサーバー接続時に使用するユーザーです。上記ステップ 1 で作成したものです。 |
パスワード | <password> タグに格納されます (下記例の太字部分):<password> jiradbuser </password> | SQL Server サーバーが認証に使用するユーザーのパスワードです。 |
スキーマ | <schema-name> タグ格納されます (下記例の太字部分):<schema-name> dbo </schema-name> | SQL Server サーバーが使用するスキーマの名前です。上記ステップ 1 で作成したものです。 |
dbconfig.xml ファイルのサンプル
上記の dbconfig.xml
ファイルに含まれる、pool
で始まる <jdbc-datasource/>
の子要素の詳細については、「データベース接続のチューニング」を参照してください。
<jira-database-config>
<name>defaultDS</name>
<delegator-name>default</delegator-name>
<database-type>mssql</database-type>
<schema-name>jiraschema</schema-name>
<jdbc-datasource>
<url>jdbc:sqlserver://dbserver:1433;databaseName=jiradb</url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<username>jiradbuser</username>
<password>password</password>
<pool-min-size>20</pool-min-size>
<pool-max-size>20</pool-max-size>
<pool-max-wait>30000</pool-max-wait>
<pool-max-idle>20</pool-max-idle>
<pool-remove-abandoned>true</pool-remove-abandoned>
<pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
<validation-query>select 1</validation-query>
<min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis>
<time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis>
<pool-test-while-idle>true</pool-test-while-idle>
<pool-test-on-borrow>false</pool-test-on-borrow>
</jdbc-datasource>
</jira-database-config>
Jira セットアップ ウィザードとデータベース設定ツールの両方も、dbconfig.xml
ファイルに要素 <validation-query>select 1</validation-query>
を追加します。これは通常、既定の MySQL インストールで Jira を実行する場合に必要です。詳細については、「コネクション切断の問題を乗り越える方法」をご参照ください。
3. Jira の起動
これで、SQL Server データベースに接続するための Jira の設定が完了しました。次のステップでは、これを起動させます。
既知の問題
The following table lists known issues that might occur during the database operation or the execution of database procedures. We are aware of these issues and have planned their resolution in future releases.
課題 | ソリューション |
---|---|
SQL Server doesn't allow more than 2000 parameters in a query. | This is a known limitation set by SQL Server. According to SQL Docs, a procedure can have a maximum of 2100 parameters. The issue is tracked in the ticket - JRASERVER-63290Getting issue details... STATUS Feel free to leave comments on the ticket so we know your use cases better and understand how this issue is impacting your operations. |