设置 SQL Server 数据库

设置 SQL Server 数据库以与 Jazz™ Team Server 一起工作。

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

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

设置数据库

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

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

  1. 创建 Jazz Team Server 数据库。 从命令行工具中,输入以下内容:
    CREATE DATABASE jazz 
    GO 
  2. 创建 Jazz Team Server 数据库的用户和密码并更改所有权。 从命令行工具中,输入以下内容:
    CREATE LOGIN jazzDBuser
    WITH PASSWORD = 'jazzDBpswd';
    USE jazz;
    exec sp_changedbowner 'jazzDBuser'
    GO 
  3. 更改 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 文件中。

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

  1. 重命名以下文件:
    • JazzInstallDir/server/conf/jazz/teamserver.properties 文件重命名为 teamserver.OtherDBProvider.properties
    • teamserver.sqlserver.properties 文件重命名为 teamserver.properties
    提示: 通过重命名原始 teamserver.properties 文件,可以将文件恢复为上一有效版本。缺省情况下,DB 提供程序为 derby
  2. 如果您使用其他用户名、密码或数据库名称,在 Jazz Team Server 以外的机器上安装 SQL 服务器或使用非缺省端口,请编辑服务器配置文件。打开 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 and Windows Authentication Mode”。
为 JDBC 指定 jar 文件位置:
  1. 在与服务器脚本相同的目录 (JazzInstallDir/server) 中,创建名为 sqlserver 的目录。
  2. 查找名为 sqljdbc.jar 的 SQL Server JDBC 驱动程序 JAR 文件。如先决条件部分中所述,根据安装驱动程序的目录,该位置将有所不同。将文件复制到新创建的 sqlserver 目录。
  3. 通过完成以下任务为 JDBC 指定 JDBC JAR 文件位置:
    • 将环境变量 SQLSERVER_ABSPATH 设置为指向包含 JAR 文件的目录。如果路径包含空格字符,那么您必须将其放在引号中。
      提示: 如果您使用 WebSphere® Application Server,请配置名为 SQLSERVER_JDBC 的属性;然后将其设置为包含 SQL Server JDBC 驱动器的绝对路径(非 URL),例如,如果您的 sqljdbc.jar 位于 JazzInstallDir/server/oracle。 有关更多信息,请参阅 WebSphere Application Server 设置指示信息。 记录文件路径以用于以后的指示信息中。

故障诊断

如果未能执行该 repotools 命令,请检查位于 JazzInstallDir/server 目录中名为 repotools_createTables.log 的日志文件。

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

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


反馈