设置 SQL Server 数据库

本主题描述如何设置 SQL Server 数据库以与 IBM® Rational® Quality Manager 一起工作。

此过程假设已满足下列先决条件:

注: SQL Server 数据库的 RQM_install_dir/server/conf/jazz/teamserver.properties 文件中所定义的缺省登录名为 jazzDBuser,并且缺省密码为 jazzDBPswd。这些值在以下步骤中用于创建数据库。您可以将这些值替换为数据库的用户名和密码。

设置数据库

注: 此部分描述如何通过使用随 SQL Server 安装提供的命令行工具 sqlcmd 来设置 SQL Server 数据库。此外,还可使用诸如 SQL Server Studio Management 之类的可视工具,此类工具也可用于和 SQL Server Studio Management Express™ 相同的 Express 版本。 请参阅 SQL Server 文档或咨询 SQL Server 数据库管理员(database administrator,DBA)以获取更多信息。

要使用命令 sqlcmd 来设置 SQL Server 数据库,请执行下列操作:

  1. 创建 Rational Jazz™ Team Server 数据库。 从命令行工具中,输入以下内容:
    CREATE DATABASE jazz 
    GO 
  2. 创建 Rational Jazz Team Server 数据库的用户和密码并更改所有权。 从命令行工具中,输入以下内容:
    CREATE LOGIN jazzDBuser
    WITH PASSWORD = 'jazzDBPswd';
    USE jazz;
    exec sp_changedbowner 'jazzDBuser'
    GO 
  3. 更改 Rational Jazz Team Server 数据库的整理。 从命令行工具中,输入以下内容:
    ALTER DATABASE jazz COLLATE SQL_Latin1_General_CP437_CS_AS 
    GO

配置服务器

注: 缺省情况下,未将 RQM_install_dir/server/conf/jazz 目录中的 teamserver.properties 文件设置为连接到 SQL Server 数据库。所有缺省设置以及特定于 SQL Server 的设置都包含在同一目录的 teamserver.sqlserver.properties 文件中。

要配置服务器,请执行下列操作:

  1. 按下一步所述进行编辑之前,制作 teamserver.properties 文件的备份副本。
    注: 通过备份原始 teamserver.properties 文件,可以将文件复原到上一有效版本。缺省情况下,DB 提供程序为 derby
  2. 通过在以下所示部分的各行开头添加 # 字符来编辑 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. 编辑 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. 创建名为 InstallDir/server/sqlserver 的目录并将 JDBC 驱动程序 JAR 文件 sqljdbc.jar 文件复制到其中。请参阅 http://msdn2.microsoft.com/en-us/data/aa937724.aspx 以获取更多信息。
  5. 打开 InstallDir/server 目录中的 server.startup.bat,浏览到 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 Team Server 数据库表。有关更多信息,请参阅 Creating Jazz 服务器数据库表

故障诊断

如果 repotools 命令不成功,请检查位于 InstallDir/server 目录中的名为 repotools_createTables.log 的日志文件。

此外,还请验证下列内容:

Rational 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 上的论坛以获取最新信息、更新或缓解方法。


反馈