設定 SQL Server 資料庫

設定 SQL Server 資料庫,以搭配 Jazz™ Team Server 運作。

本程序假設您已符合下列的必備條件:

記住: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)。

如果要使用 指令工具 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 檔可讓您將檔案還原成先前的工作版本。依預設,「資料庫提供者」為 derby
  2. 如果您使用不同的使用者名稱、密碼或資料庫名稱、將 SQL Server 安裝在 Jazz Team Server 以外的機器上,或者使用非預設埠,請編輯伺服器配置檔。開啟 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 與 Windows 鑑別模式」。
如果要指定 JDBC 的 JAR 檔位置,請執行下列動作:
  1. 在和伺服器 Script 相同的目錄 (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/sqlserver 之下。如需相關資訊,請參閱 WebSphere Application 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 論壇中的最新資訊、更新項目或移轉技術。


意見

以上說明對您有幫助嗎?您可以在 Jazz.net 網站中提供意見(需要登錄):在討論區中提供意見提交錯誤