Jazz™ Team Server
と連動するように SQL Server データベースをセッ
トアップします。
この手順では、次の前提条件が満たされているも
のとします。
- SQL Server をインストール済みである
- SQL Server サービスが始動済みである
- SQL Server JDBC ドライバーをインストール
済みである。 詳しくは、http://msdn2.microsoft.com/en-us/data/aa937724.aspxを参照してください。
- SQL Server に対して TCP プロトコルが有効
になっている
- DB 表を作成するユーザーは、以下の権限の 1 つを持っている必要があります。
- sysadmin 固定サーバー・ロールのメンバーシップ、またはデータベースの所有権 (dbo)
要確認: SQL Server データベースに関して JazzInstallDir/server/teamserver.properties ファイルで定義されているデフォルトのログイン名は jazzDBuser で、デフォルトのパスワードは jazzDBpswd です。これらの値は、以下のデータベースの作成ステップで使用します。 これらの値を、ご使用のデータベースのユーザー名およ
びパスワ
ードで置き換えることができます。
データベースのセットアップ
このセクションでは、SQL Server
のインストールで用意されているコマンド行ツール
sqlcmd を使用して、SQL Server データベースをセットアップする方法を説明します。 SQL Server Studio Management
(Express™
バージョンでも SQL Server Studio Management
Express として利用可能) などのビジュアル・ツール
を使用することもできます。 詳しくは、SQL Server 資料を参照
するか、または SQL Server のデータベース管理者
(DBA) に問い合わせてください。
コマンド・ツール
sqlcmd を使用して SQL Server データベースをセットアップするには、以下の手順
を実行します。
- Jazz Team Server
データベースを作成します。
コマンド行ツールから、以下のように入力します。
CREATE DATABASE jazz
検索
- ユーザーとパスワードを作成して、
Jazz Team Server
データベースの所有権を変更します。 コマンド行ツールから、以下のように入力します。
CREATE LOGIN jazzDBuser
WITH PASSWORD = 'jazzDBpswd';
USE jazz;
exec sp_changedbowner 'jazzDBuser'
検索
- Jazz Team Server
データベースの照合を変更します。
コマンド行ツールから、以下のように入力します。
ALTER DATABASE jazz COLLATE SQL_Latin1_General_CP437_CS_AS
検索
サーバーの構成
要確認: デフォル
トでは、
JazzInstallDir/server ディレ
クトリー内の
teamserver.properties ファイ
ルは、SQL Server データベースに接続するように
セットアップされていません。 すべてのデフォルトの設定および
SQL Server 固有の設定は、同じディレクトリー内の
teamserver.sqlserver.properties
ファイルにあります。
サーバーを構成するには、以
下の手順を実行します。
- 以下のファイルの名前を変更します。
- JazzInstallDir/server/conf/jazz/teamserver.properties ファイルを teamserver.OtherDBProvider.properties に名前変更します。
- teamserver.sqlserver.properties
ファイルの名前を
teamserver.properties に変更
します。
ヒント: 元の
teamserver.properties ファイ
ルの名前を変更することで、ファイルを以前の作業バ
ージョンに戻すことができます。 デフォルトでは、DB プロバイダーは derby です。
- 別のユーザー名、パスワード、またはデータベ
ース名を使用した場合、SQL Server を
Jazz Team Server
以外のマシンにインストールした場合、またはデフォ
ルト以外のポートを使用している場合は、サーバー構
成ファイルを編集します。
JazzInstallDir/server/conf/jazz ディレ
クトリー内のファイル
teamserver.properties を開き
、以下に示された情報を、実際のセットアップ内容に合わせて変更します。
com.ibm.team.repository.db.vendor = SQLSERVER
com.ibm.team.repository.db.jdbc.location=//SQL SERVER MACHINE IP:SQL SERVER TCIP PORT;databaseName=JAZZ DATABASE NAME;user=JAZZ USERNAME;password={password}
com.ibm.team.repository.db.jdbc.password=JAZZ LOGIN PASSWORD
重要: プロパティー com.ibm.team.repository.db.jdbc.location の password={password}
テキストは、変更しないでください。 ユーザー・パスワードは、プロパティー com.ibm.team.repository.db.jdbc.password で指定する必要があります。
重要: Windows の場合のみ。ご使用のサーバーのセキュリティーが混合モードであることを確認してください。
これを検証するには、サーバーのセキュリティーを確認します。これは「SQL Server 認証モードと Windows 認証モード」に設定されている必要があります。
JDBC の JAR ファイルのロケーションを指定するには、次のようにします。
- サーバー・スクリプトと同じディレクトリー (JazzInstallDir/server) に、sqlserver という名前のディレクトリーを作成します。
- sqljdbc.jar という、SQL Server JDBC ドライバーの JAR ファイルを見つけ
ます。
前提条件のセクションで説明したように、どこにドライバーをインストールしたかによってロケーションは異なる場合があります。このファイルを、新しく作成した sqlserver ディレクトリーにコピーします。
- 以下の操作を実行して、JDBC の JDBC JAR ファイルのロケーションを指定します。
トラブルシューティング
repotools コマンドが正常に実行できない場合、
JazzInstallDir/server ディレ
クトリーにある
repotools_createTables.log
というログ・ファイルを確認してください。
以下についても確認
してください。
- SQL Server は、TCP/IP プロトコルを使用して
接続できるように構成されている。
必要な場合は、SQL サービスを再始動します。
- SQL Server マシンのホスト名およびポートが teamserver.properties ファイルに正しく反映されている。
- ログイン名、パスワード、およびデータベース名が teamserver.properties ファイルに適切に反映されている。
- ファイアウォールによって、SQL Server への
アクセスが阻止されない。 teamserver.properties ファイルのホスト名およびポートを使用してマシンに telnet するには、telnet コマンドを使用します。
- 作成されたユーザーが、
Jazz Team Server
データベース内での適切なアクセス権を持っている。
注: さまざまなデータベース・プラットフォームで使用できるように、
Jazz Team Server のデータベース・コードは汎用性があり、標準的なものになるように設計されています。ただし、構文、最適化の戦略、およびロッキングのセマンティックは、エンタープライズ・データベースの各ベンダーで異なります。サーバーに対しては、SQL Server 上で、自動テスト
、通常のワークロードのシミュレーション、およびストレス・テストを組み合わせ
たテストを実行しています。 通常のワークロードのシミュレーションでの
パフォーマンスは、許容できる範囲でした。 並行性の自動テストでは、データベースのデッドロックが発生した場合もありましたが、別のサーバー・ハードウェアではこの現象は常に再現されたわけではありませんでした。
サーバーは、同時に発生する多数の要求を処理
するように
設計されています。 例外として、リポジトリー・データベースでデッドロックが発生する場合があります。これは、要求に関連するトランザクションにおいて、類似オブジェクトや同等のオブジェクトが同時に更新されるためです。これらは、めったに発生しませんが、通常の
イベントです。
これに対して防御できるようシステムが設計されており、データ保全性は維持されます。データの損失は発生しません。デッドロックは、ビルド・エンジンの実行
などのタスクによってログに記録されることがありま
す。 通常は、状態が検出され、タスクが再試行され
ます。 デッドロックによってビルドが失敗することが
あります。 デッドロックを解決するために、ワークアイテムやソー
ス・コードでの作業などのユーザー・アクションが中断されることが、非常にまれにあります。 この場合、ユーザー・アクシ
ョンは失敗し、デッドロックについての詳細とともに
、エラーがユーザーに表示されます。
このとき、ユーザーはアクションを再試行することができます。
発生したすべてのデッドロックは、サーバーでロ
グに記録されます。ログには、デッドロックの発生
時に起こったことについての情報が記載されています。
ログ・エントリーのテキストは、com.ibm.team.repository.common.RetryableDatabaseException:
Serialization failure のようになります。
システムでデッドロックが発生した場合は、https://servername:9443/jazz/service/com.ibm.team.repository.common.internal.IFeedService?category=SystemLog にあるエラー・ログを参照してください。
頻繁にデッドロックの例外が発生する場合は、製品サポートに連絡するか、または jazz.net のフォーラムにアクセスして、最新情報や更新情報、または問題の軽減手法を確認してください。