Jira アプリケーションの SQL Server 2022 への接続

ここでは、Jira を Microsoft SQL Server 2022 データベースに接続する手順を説明します。

はじめる前に

1. SQL Server データベースを作成および構成する

データベースを作成するときに、データベース名ユーザー名スキーマ名ポート番号を記録しておきます。後で Jira をデータベースに接続する際に必要になります。

  1. Jira 用のデータベース (例: jiradb) を作成します。 

    • 照合タイプでは、大文字と小文字が区別されないことに注意します。

      サポートされる照合タイプ...

      大小文字とアクセントを区別して言語に依存しない照合順序タイプとして、SQL_Latin1_General_CP437_CI_AILatin1_General_CI_AI をサポートしています。お使いの SQL Server インストールの照合タイプの設定をデフォルトから変更していない場合は、照合タイプの設定をご確認ください。

    • SQL Server は Unicode エンコード形式で文字を格納します。これで、文字エンコード問題を十分回避できます。

  2. Jira の接続時に使用するデータベース ユーザーを作成し、名前をつけます (例: jiradbuser)。このユーザーはデータベース所有者にする必要があります。また、db_owner ロールに含める必要があります。

  3. データベースに Jira のテーブルを格納するための空のスキーマを作成します (例: jiraschema)。

    スキーマとは

    SQL Server 2022 のスキーマは、オブジェクトを格納するために使用されるまったく別の名前空間であり、従来のデータベース スキーマとは異なるものです。Jira のテーブル、フィールド、またはリレーションシップを作成する必要はありません。Jira を初めて起動したときに、空のスキーマにこれらのオブジェクトが作成されます。SQL Server 2022 のスキーマに関する詳細は、Microsoft ドキュメントの関連項目を参照してください。

  4. 作成したデータベース ユーザーが、データベースに接続し、新しく作成したスキーマでテーブルを作成および更新できる権限を持っていることを確認します。

  5. SQL Server で TCP/IP が有効であり、適切なリスニング ポートが設定されていることを確認します。デフォルトの SQL Server インストールのユーザー ポート番号は 1433 です。
  6. SQL Server が適切な認証モードで稼働していることを確認します。

    認証モードとは

    By default, SQL Server operates in the Windows authentication mode. But if your user isn’t associated with a trusted SQL connection and Microsoft SQL Server, Error: 18452 is received during the Jira startup, you should change the authentication mode to the Mixed authentication mode. Check the Microsoft documentation on authentication modes

  7. SET NOCOUNT オプションのチェックを外します。
    1. SQL Server Management Studio を開きます。
    2. [ツール] > [オプション] > [クエリ実行] > [SQL Server] > [詳細] の順に移動して、[SET NOCOUNT] チェックボックスをオフにします。
      SQL Server Management Studio の [SET NOCOUNT] オプション。

    3. Object Explorer でサーバーを右クリックし、[Properties (プロパティ)] > [Connections (接続)] > [Default Connections (既定の接続)] に移動します。[no count (カウントなし)] オプションをクリアします。

  8. 作成したデータベース上で右クリックし、[New Query (新規クエリ)] を選択してクエリ コンソールにアクセスします。次のコマンドを実行し、分離レベルを設定します。

    ALTER DATABASE THE-NEW-DATABASE-CREATED-FOR-JIRA SET READ_COMMITTED_SNAPSHOT ON

2. Jira を構成してデータベースに接続する

次の 2 つの方法で Jira Server を構成して SQL Server データベースに接続できます。

データベース接続フィールド

The table shows the fields you'll need to fill out when connecting Jira to your database. You can also refer to them and to the sample dbconfig.xml file under the table if you'd like to create or edit the dbconfig.xml file manually.

セットアップウィザード/設定ツールdbconfig.xml説明
ホスト名

Located in the <url> tag. In the following example of the URL, dbserver is the hostname: <url>jdbc:sqlserver://dbserver :1433;databaseName=jiradb</url>

SQL Server のサーバーがインストールされているマシンの名前または IP アドレス
ポート

Located in the <url> tag. In the following example of the URL, 1433 is the port:
<url>jdbc:sqlserver://dbserver :1433;databaseName=jiradb</url>

SQL Server のデータベース サーバーがリスンする TCP/IP ポート。既定のポートを使用するには、このパラメーターを空のままにします。
データベース

Located in the <url> tag. In the following example of the URL, jiradb is the database:
<url>jdbc:sqlserver://dbserver :1433;databaseName=jiradb</url>

SQL Server データベース (Jira のデータ保存先) の名前。ステップ 1 で作成したものです。
ユーザ名

<username> タグにあります。
<username> jiradbuser </username>

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. 定期的なデータベース メンテナンス タスクをスケジュールする 

MS SQL の最適なパフォーマンスを達成して維持するには、毎日のメンテナンス タスクをスケジュールして、データベースの統計情報を更新します。

ホット テーブルの毎日のメンテナンス タスクをスケジュールする

ホット テーブルは、データベース内で最もアクティブなテーブルです。たとえば、propertyentrychangegroupchangeitem は頻繁に使用され、定期的に統計情報を更新する必要がある大きなデータ テーブルです。

ホット テーブルの毎日のメンテナンス タスクを設定するには、次のコマンドを実行します。

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 個のパラメーターを設定できます。

この課題は、こちらのチケットで追跡できます。 JRASERVER-63290 - 課題情報を取得中... ステータス

遠慮なくチケットにコメントをご記入ください。アトラシアンがユース ケースを深く理解し、この問題がカスタマーの業務にどのような影響を与えているかを把握できます。

最終更新日 2025 年 4 月 8 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.