Jira アプリケーションの SQL Server 2016 への接続
ここでは、Jira を Microsoft SQL Server 2016 データベースに接続する手順を説明します。
はじめる前に
- Jira アプリを別のサーバーに移行する場合は、データのエクスポートをバックアップとして作成します。その後、「データベースの切り替え」で説明されているように、元のデータベースから新しいデータベースにデータを移行できるようになります。
- インストールを開始してセットアップ ウィザードを実行中の場合を除き、始める前に 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 が適切な認証モードで稼働していることを確認します。
- NOCOUNT オプションのチェックを外します。
- SQL Server Management Studio を開きます。
- [ツール] > [オプション] > [クエリを実行] > [SQL サーバー] > [詳細設定] の順に移動し、[NOCOUNT] チェック ボックスをオフにします。
Object Explorer でサーバーを右クリックし、[Properties] > [Connections] > [Default Connections] に移動します。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. 定期的なデータベース メンテナンス タスクをスケジュールする
ホット テーブルの毎日のメンテナンス タスクをスケジュールする
ホット テーブルは、データベース内で最もアクティブなテーブルです。たとえば、propertyentry
、changegroup
、changeitem
は頻繁に使用され、定期的に統計情報を更新する必要がある大きなデータ テーブルです。
ホット テーブルの毎日のメンテナンス タスクを設定するには、次のコマンドを実行します。
UPDATE STATISTICS <table.name>
データベース全体に対して週単位のメンテナンス タスクをスケジュールする
データベース全体に対して週単位のメンテナンス タスクを設定するには、次のコマンドを実行します。
UPDATE STATISTICS with fullscan
大規模なデータベースでは、fullscan
による統計情報の更新が完了するまでに時間がかかることがあります。本番環境への影響を最小限に抑えるため、このメンテナンス タスクはオフピーク時にスケジュールしてください。
MS SQL Server の統計情報を更新する方法の詳細については、Microsoft の公式ドキュメントをご参照ください。
4. Jira を起動する
これで、SQL Server データベースに接続するための Jira の設定が完了しました。次のステップでは、これを起動させます。