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

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

はじめる前に

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

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

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

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

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

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

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

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

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

    詳細を読む...

    SQL Server 2017 の "スキーマ" は、オブジェクトを含むために使用される個別の名前空間であり、従来のデータベース スキーマとは異なるものです。Jira のテーブル、フィールド、または信頼関係の作成は不要です (Jira は初回起動時に、これらのオブジェクトを空のスキーマ内に作成します)。SQL Server 2017 のスキーマに関する詳細は、Microsoft ドキュメントの関連項目を参照してください。

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

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

  6. SQL Server が適切な認証モードで稼働していることを確認します。

    詳細を読む...

    SQL Server はデフォルトで "Windows 認証モード" で動作します。ただし、ユーザーが SQL Server の信頼された接続に関連付けられていない場合、すなわち、Jira セットアップ中に ”Microsoft SQL Server, Error: 18452” が表示される場合、認証モードを「混在モード」に変更する必要があります。認証モード、および、「混在モード」への認証モードの変更については、Microsoft のドキュメントを参照してください。

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

    3. Object Explorer でサーバーを右クリックし、[Properties] > [Connections] > [Default Connections] に移動します。no count オプションをクリアします。

      SQL Server Management Studio の [Default Connections]

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

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

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

Jira Serverを構成して SQL Server データベースに接続するには、2 つの方法があります。

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

以下の表は、Jira をデータベースに接続するときに入力する必要があるフィールドを示しています。dbconfig.xml ファイルを作成または手動で編集する場合、この表や下記の dbconfig.xml ファイルの例をご参照ください。

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

<url> タグに格納されます (下記例の太字部分): <url>jdbc:sqlserver://dbserver :1433;databaseName=jiradb</url>

SQL Server がインストールされたサーバーマシンのマシン名または IP アドレスです。
ポート

<url> タグに格納されます (下記例の太字部分):
<url>jdbc:sqlserver://dbserver :1433;databaseName=jiradb</url>

SQL Server のサーバーがリスンする TCP/IP ポートです。このフィールドが空の場合、デフォルト ポートが使用されます。
データベース

<url> タグに格納されます (下記例の太字部分):
<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 個のパラメーターを設定できます。

The issue is tracked in the ticket JRASERVER-63290 - Getting issue details... STATUS

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

Last modified on Mar 9, 2023

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

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