设置 SQL Server 数据库

设置 SQL Server 数据库,使其与 Jazz™ Team Server 协同工作。

本过程假定已满足下列先决条件:

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

设置数据库

注: 本节描述如何使用命令行工具 sqlcmd 来设置 SQL Server 数据库,此工具由 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 数据库。同一目录中的 teamserver.sqlserver.properties 文件包含所有缺省设置以及 SQL Server 所特有的设置。

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

  1. 将下列文件重命名:
    • JazzInstallDir/server/ teamserver.properties 文件重命名为 teamserver.OtherDBProvider.properties
    • teamserver.sqlserver.properties 文件重命名为 teamserver.properties
    注: 通过将原始的 teamserver.properties 文件重命名,您以后就能够将该文件恢复为先前工作版本。缺省情况下,DB 提供程序是 derby
  2. 如果您已使用另一个用户名、密码或数据库名称、已将 SQL Server 与 Jazz Team Server 安装到不同机器或者正在使用除缺省端口以外的端口,那么请编辑服务器配置文件。打开 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
  3. 找到名为 sqljdbc.jar 的 SQL Server JDBC 驱动程序 JAR 文件。此文件的所在位置随驱动程序安装位置的不同而有所变化,如先决条件一节所述。
  4. 通过完成下列其中一个任务,指定 JDBC 的 JDBC JAR 文件位置:
    • 将 JDBC 驱动程序 JAR 文件复制到 JazzInstallDir/server/sqlserver 目录
    • 设置环境变量 SQLSERVER_ABSPATH,使其指向该 JAR 文件所在的目录
      注: 如果您使用 WebSphere® Application Server,那么请配置名为 SQLSERVER_JDBC 的属性;然后将其设置为 SQL Server JDBC 驱动程序的绝对文件路径(而不是 URL)。有关更多信息,请参阅 WebSphere Application Server 安装指示信息。请记录此文件路径,以供稍后在这些指示信息中使用。

您已完成数据库设置过程。现在,请创建 Jazz Team Server 数据库表。有关更多信息,请参阅 创建 Jazz Team Server 数据库表

故障诊断

如果 repotools 命令未成功,那么请检查日志文件 JazzInstallDir/server 目录中的日志文件 repotools_createTables.log

并且,请验证下列各项:

注: Jazz Team Server 的数据库代码设计成具有通用性和标准性,能够在多种数据库平台上运行;但是,不同企业数据库供应商的系统在语法、优化策略和锁定语义方面有所差别。我们已使用各种自动化测试功能以及模拟正常工作负载和压力测试在 SQL Server 上测试此服务器。对正常工作负载的模拟表明性能可接受。在某些情况下,执行自动化并行测试时观察到数据库死锁现象;但是,这些现象在不同的服务器硬件上并不会一贯地再现。

服务器的设计支持为大量并发请求提供服务。在某些异常情况下,在存储库数据库中会发生死锁,原因是与那些请求相关联的事务以并发方式更新类似的或等同的对象。这些情况很罕见,但并非不正常。系统能够抵御这种情况,数据完整性将得以维护;不会丢失数据。有时,执行构建引擎之类的任务将记录死锁情况。通常,死锁情况将被检测到,并且该任务将被重试。死锁可能会导致构建失败。在非常罕见的情况下,要解决死锁,必须中止用户操作(例如处理工作项或源代码)。在这种情况下,该用户操作将失败,并且将向用户显示带有与死锁相关的详细信息的错误。然后,该用户可以重试该操作。

遇到的所有死锁都将记录在服务器上,以便提供有关发生死锁时的情况的信息。日志条目的文本类似于:com.ibm.team.repository.common.RetryableDatabaseException:序列化失败

如果您的系统遇到死锁,那么请查看错误日志,地址为:https://servername:9443/jazz/service/com.ibm.team.repository.common.internal.IFeedService?category=SystemLog

如果您频繁地遇到死锁异常,那么请与产品支持人员联系或者访问 jazz.net 上的论坛以获取最新信息、更新或迁移技术。


反馈