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 などのビジュアル・ツールも使用できます。これは SQL Server Studio Management Express の Express® バージョンでも使用可能です。詳しくは、SQL Server の資料を参照するか、または SQL Server データベース管理者 (DBA) にお尋ねください。
SQL Server データベースをコマンド・ツール sqlcmd を使用してセットアップするには、以下のようにします。
- Jazz Team Server データベースを作成します。
コマンド行ツールから、以下のように入力します。
CREATE DATABASE jazz
GO
- ユーザーおよびパスワードを作成し、Jazz Team Server データベースの所有権を変更します。
コマンド行ツールから、以下のように入力します。
CREATE LOGIN jazzDBuser
WITH PASSWORD = 'jazzDBpswd';
USE jazz;
exec sp_changedbowner 'jazzDBuser'
GO
- Jazz Team Server データベースの照合を変更します。
コマンド行ツールから、以下のように入力します。
ALTER DATABASE jazz COLLATE SQL_Latin1_General_CP437_CS_AS
GO
サーバーの構成
要確認: デフォルトでは、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 です。
- 別のユーザー名、パスワード、またはデータベース名を使用した場合、Jazz Team Server 以外のマシンに SQL 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} のテキストは変更しないでください。
ユーザー・パスワードは、プロパティー 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 にあるフォーラムを確認してください。