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