SQL Server データベースの構成

SQL Server データベースを IBM® Rational® Jazz™ チーム・サーバー と協働するようにセットアップします。

この手順は、以下の前提条件が満たされていることを前提としています。

注: JazzInstallDir/server/teamserver.properties ファイルで SQL Server データベースに対して定義されているデフォルトのログイン名は 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 を使用してセットアップするには、以下のようにします。

  1. Rational Jazz チーム・サーバー データベースを作成します。 コマンド行ツールから、以下のように入力します。
    CREATE DATABASE jazz
    GO 
  2. ユーザーおよびパスワードを作成し、Rational Jazz チーム・サーバー データベースの所有権を変更します。 コマンド行ツールから、以下のように入力します。
    CREATE LOGIN jazzDBuser
    WITH PASSWORD = 'jazzDBPswd';
    USE jazz;
    exec sp_changedbowner 'jazzDBuser'
    GO 
  3. Rational Jazz チーム・サーバー データベースの照合を変更します。 コマンド行ツールから、以下のように入力します。
    ALTER DATABASE jazz COLLATE SQL_Latin1_General_CP437_CS_AS
    GO

サーバーの構成

注: デフォルトでは、JazzInstallDir/server ディレクトリー内の teamserver.properties ファイルは、SQL Server データベースに接続するようにセットアップされていません。 すべてのデフォルト設定と SQL Server 固有の設定は、同じディレクトリー内の teamserver.sqlserver.properties ファイルに含まれています。

サーバーを構成するには、以下のようにします。

  1. 次のステップで説明されている編集を行う前に、JazzInstallDir/server/ teamserver.properties ファイルのバックアップ・コピーを作成します。
    注: オリジナルの teamserver.properties ファイルをバックアップすることで、ファイルを前の作業バージョンに復元することができます。 デフォルトでは、DB プロバイダーは derby です。
  2. JazzInstallDir/server/ teamserver.properties ファイルは、以下に示すように、セクションの各行の先頭に # 文字を追加することで編集します。
    #
    # DERBY Configuration
    #
    # JDBC DB location, specifying this property disables system-based selection of default location
    #com.ibm.team.repository.db.vendor=DERBY
    #com.ibm.team.repository.db.jdbc.location=repositoryDB
  3. JazzInstallDir/server ディレクトリー内の 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
  4. JazzInstallDir/server/server/sqlserver というディレクトリーを作成し、JDBC ドライバー JAR ファイルの sqljdbc.jar ファイルをその中にコピーします。 詳しくは、http://msdn2.microsoft.com/en-us/data/aa937724.aspxを参照してください。
  5. JazzInstallDir/server 内の server.startup.dat を開き、行 set SQLSERVER_JDBC=%START_DIR%¥sqlserver までナビゲートし、そのセクションを以下のように変更します。
    set JAVA_PTS=-Djava.awt.headless=true -
    DSQLSERVER_JDBC="%SQLSERVER_JDBC%" -
    DORACLE_JDBC=%ORACLE_JDBC%" - DDB21_JDBC="%DB21_JDBC%" -
    DDB2Z_JDBC="%DB2Z_JDBC%" -
    Dorg.eclipse.emf.ecore.plugin.EcorePlugin.doNotLoadResourcesPlugin=true -
    Dcom.ibm.team.repository.provision.profile="%cd%"¥provision_profiles -
    Dcom.ibm.team.repository.tempDir=%TEMP% -Dcom.ibm.rqm.create.samples=false -
    Xss512k -Xmx700M

データベースのセットアップは完了しました。 ここで、Rational Jazz チーム・サーバー データベース表を作成します。 詳しくは、Creating Jazz Server database tables を参照してください。

トラブルシューティング

repotools コマンドが正常に実行されない場合は、JazzInstallDir/server ディレクトリーにある repotools_createTables.log というログ・ファイルを検査してください。

さらに、以下も確認してください。

Rational Jazz チーム・サーバー のデータベース・コードは、複数のデータベース・プラットフォーム上で実行するように、汎用かつ標準となるように設計されました。ただし、エンタープライズ・データベース・ベンダー間の相違は、構文、最適化ストラテジー、およびロック・セマンティクスに存在します。 サーバーは 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 にあるフォーラムを確認してください。


フィードバック