This procedure assumes that the following prerequisites have been met:
To set up an SQL Server database by using the command tool sqlcmd:
CREATE DATABASE jazz GO
CREATE LOGIN jazzDBuser WITH PASSWORD = 'jazzDBPswd'; USE jazz; exec sp_changedbowner 'jazzDBuser' GO
ALTER DATABASE jazz COLLATE SQL_Latin1_General_CP437_CS_AS GO
To configure the server:
# # 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
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
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
You have completed setting up your database. Now, create the Rational Jazz Team Server database tables. For more information, see Creating Jazz Server database tables.
If the repotools command does not succeed, check the log file named repotools_createTables.log, located in the JazzInstallDir/server directory.
Also, verify the following:
The database code for Rational Jazz Team Server was designed to be generic and standard in order to run on multiple database platforms; however, differences between the enterprise database vendors exist in syntax, optimization strategies, and locking semantics. The server has been tested on SQL Server using a combination of automated tests and simulations of normal workloads and stress testing. The simulation of normal workloads showed acceptable performance. In some instances database deadlocks have been observed in automated concurrency tests; however, these have not been consistently reproduced on different server hardware.
The server is designed to service a large number of simultaneous requests. In exceptional cases, deadlocks can occur in the repository database, as similar or equal objects are updated concurrently in transactions associated with the requests. These are rare, but normal events. The system is designed to be defensive against this, and data integrity is maintained; there is no loss of data. Occasionally, deadlocks are logged by tasks, such as build engine execution. Generally, the condition is detected, and the task is re-tried. The deadlock can result in a failed build. In very rare cases, it can be a user action, such as working with work items or source code, that is aborted to resolve a deadlock. In that case, the user action fails and an error with details regarding a deadlock is displayed to the user. The user can then retry the action.
All deadlocks encountered are logged on the server to provide information about what happened when the deadlock occurred. The log entry has text similar to the following: com.ibm.team.repository.common.RetryableDatabaseException: Serialization failure.
If your system encounters deadlocks, see the error log, which is available at https://servername:9443/jazz/service/com.ibm.team.repository.common.internal.IFeedService?category=SystemLog.
If you encounter frequent deadlock exceptions, contact your product support, or check the forums on jazz.net for the latest information, updates, or mitigating techniques.