Jira アプリケーションの SQL Server 2017 への接続
ここでは、Jira を Microsoft SQL Server 2017 データベースに接続する手順を説明します。
はじめる前に
- 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 <table.name> with fullscan
大規模なデータベースでは、fullscan
による統計情報の更新が完了するまでに時間がかかることがあります。本番環境への影響を最小限に抑えるため、このメンテナンス タスクはオフピーク時にスケジュールしてください。
MS SQL Server の統計情報を更新する方法の詳細については、Microsoft の公式ドキュメントをご参照ください。
4. Jira の起動
これで、SQL Server データベースに接続するための Jira の設定が完了しました。次のステップでは、これを起動させます。
既知の問題
次の表は、データベースの操作中またはデータベース手順の実行中に発生する可能性のある既知の問題の一覧です。当社ではこのような問題を認識しており、今後のリリースでの解決を予定しています。
課題 | ソリューション |
---|---|
SQL Server で、1 つのクエリに 2000 個を超えるパラメーターを使用できません。 | これは SQL Server によって設定された既知の制限です。SQL ドキュメントによると、手順には最大 2100 個のパラメーターを設定できます。 The issue is tracked in the ticket JRASERVER-63290 - Getting issue details... STATUS 遠慮なくチケットにコメントをご記入ください。アトラシアンがユース ケースを深く理解し、この問題がカスタマーの業務にどのような影響を与えているかを把握できます。 |