設定 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 資料庫,請執行下列動作:
- 建立 Jazz Team Server 資料庫。請從指令行工具鍵入:
CREATE DATABASE jazz
GO
- 建立使用者和密碼,並變更 Jazz Team Server 資料庫的所有權。請從指令行工具鍵入:
CREATE LOGIN jazzDBuser
WITH PASSWORD = 'jazzDBpswd';
USE jazz;
exec sp_changedbowner 'jazzDBuser'
GO
- 建立 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 檔中。
如果要配置伺服器,請執行下列動作:
- 重新命名下列檔案:
- 將 JazzInstallDir/server/conf/jazz/teamserver.properties 檔重新命名為
teamserver.OtherDBProvider.properties
- 將 teamserver.sqlserver.properties 檔重新命名為 teamserver.properties
提示: 重新命名原始
teamserver.properties 檔可讓您將檔案還原成先前的工作版本。依預設,「資料庫提供者」為 derby。
- 如果您使用不同的使用者名稱、密碼或資料庫名稱、將 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 檔位置,請執行下列動作:
- 在和伺服器 Script 相同的目錄 (JazzInstallDir/server) 中,建立名為 sqlserver 的目錄。
- 找出名為 sqljdbc.jar 的 SQL Server JDBC 驅動程式 JAR 檔。如「必備條件」小節中所述,位置可能因驅動程式安裝所在而異。將檔案複製至新建的
sqlserver 目錄。
- 完成下列作業,以指定 JDBC 的 JDBC JAR 檔位置:
疑難排解
如果 repotools 指令沒有成功,請檢查 JazzInstallDir/server 目錄中名為 repotools_createTables.log 的日誌檔。
此外,請驗證下列:
- SQL Server 已配置成容許使用 TCP/IP 通訊協定來連線。
必要的話,請重新啟動 SQL 服務。
- teamserver.properties 檔中正確反映 SQL Server 機器的主機名稱和埠。
- teamserver.properties 檔中適當反映登入名稱、密碼和資料庫名稱。
- 防火牆不會妨礙您存取 SQL Server。請利用 telnet
指令,使用 teamserver.properties 檔中的主機名稱和埠,和機器進行 Telnet 連線。
- 所建立的使用者在 Jazz Team Server 資料庫中具備適當許可權。
註: 為了能在多種資料庫平台上執行,
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 論壇中的最新資訊、更新項目或移轉技術。