前言

若你再安裝 TeamCity 時,該伺服器上沒有資料庫,您可以在安裝過程中選擇內部資料庫 HSQL 方式先行安裝,後續在安裝合適的資料庫 (TeamCity 支援 MySQL, PostgreSQL, Oracle, 與 Microsoft SQL Server)。 本篇文章簡單紀錄如何從 HSQL 轉換至 SQL Server,提供有此需求的朋友參考。





操作步驟

備份 (Backup)

無論如何,第一個步驟一定是進行備份 (Backup),若轉移失敗,您仍可以透過備份還原您的設定。以管理者帳號 (Administrator Account) 登入系統,點選上方 Administrator 進入管理頁 > 點選備份 (Backup)



選擇 All except build artifiacts > 點選 Click Start Backup



建立 TeamCity 資料庫與帳號 (Create database and account for TeamCity)

登入 SQL Server,先行建立資料庫,名稱為 TeamCity




您可以建立一個新的帳號讓 TeamCity 使用,建立先給予  DB owner 權限讓 TeamCity 建立資料表。





轉移 (Migrate HSQL to SQL Server)

Step 1. 先停止 TeamCity Service (工作管理員 > 服務 > 右鍵點選 TeamCity > 停止)


Step 2. 下載 Microsoft JDBC Driver for SQL Server ,解壓縮後將 mssql-jdbc-.jre8.jar 複製到 /lib/jdbc
/config/database 預設為 C:\ProgramData\JetBrains\TeamCity\config,且可能為隱藏資料夾


Step 3. 先建立一個暫存資料夾。開啟 /config/database 資料夾,將database.mssql.properties.dist 複製到 剛剛建立的暫存資料夾。在暫存資料夾開啟  database.mssql.properties.dist,輸入資料庫位置 (記得移除註解 #)、資料庫帳號與密碼



Step 4. 以管理員身分開啟命令提示字元,切換到目錄 C:\TeamCity\bin




Step 5. 轉移指令格式如下:
maintainDB.[cmd|sh] migrate [-A ] -T

本篇文章執行範例如下 (請依據環境調整指令):
maintainDB.cmd migrate -A C:\ProgramData\JetBrains\TeamCity -T C:\temp\database.mssql.properties.dist



重新啟動 TeamCity (服務 > 右鍵點選 TeamCity > 啟動)。開啟網頁點選 Administrator > Global Settings,確認您的資料庫已經是 SQL Server。完成 !