🧠【完整教學】Spotfire 資料庫備份與還原(遠端 → 本機)|SQL Server 實戰搬家指南

📌 前言:為什麼你會需要搬 Spotfire 資料庫?

在實務上,你很常會遇到這種情境:

  • 想在本機測試 Spotfire Automation
  • 客戶環境不能亂動 → 要複製一份到自己電腦
  • Server 壞掉 → 要快速復原
  • 想分析 Job / 排程 / Routing 設定

👉 這時候你要做的其實只有一件事:

把 Spotfire 的資料庫從遠端搬到本機

但問題是…

❌ 很多人不知道該備哪個 DB
❌ 還原後連不起來
❌ Job 查不到資料

這篇會帶你「一步一步」搞懂 👇


🧩 一、Spotfire 架構(新手一定要懂)

Spotfire Server 的「核心其實是資料庫」

通常會有兩個關鍵 DB:

資料庫名稱 功能
Spotfire_DB 存設定、Automation Job、排程
Spotfire_Config 存 Server 設定、帳號、節點

👉 這兩個缺一不可!


🧠 二、你現在在做的事情(白話版)

你可以想成:

把「公司電腦的設定」複製到「你自己的電腦」

流程其實只有 3 步:

遠端 Server → 備份 → 搬檔案 → 本機還原

🛠️ 三、Step 1:從遠端 Server 做備份

📍 目標:把資料庫變成一個 .bak

你可以在 SQL Server 裡執行類似這種指令(⚠️已改寫):

BACKUP DATABASE Spotfire_DB
TO DISK = 'E:\Backup\sf_main.bak'
WITH FORMAT;

再備份另一個:

BACKUP DATABASE Spotfire_Config
TO DISK = 'E:\Backup\sf_config.bak'
WITH FORMAT;

🧠 新手理解

這一步在做什麼?

👉 就像把資料「打包成壓縮檔」


📦 四、Step 2:把備份檔搬到本機

你只需要把這兩個檔案:

sf_main.bak
sf_config.bak

搬到你的電腦,例如:

D:\Restore\

📌 常見方式

  • 遠端桌面(RDP)
  • USB
  • 網路共用資料夾
  • WinSCP

🔄 五、Step 3:在 localhost 還原資料庫

📍 還原概念(超重要)

👉 把 .bak 還原成「可以用的資料庫」


✏️ 還原指令(已改寫版本)

RESTORE DATABASE Spotfire_DB
FROM DISK = 'D:\Restore\sf_main.bak'
WITH
MOVE 'SF_Data' TO 'D:\SQLData\Spotfire_DB.mdf',
MOVE 'SF_Log' TO 'D:\SQLData\Spotfire_DB.ldf',
REPLACE;

另一個:

RESTORE DATABASE Spotfire_Config
FROM DISK = 'D:\Restore\sf_config.bak'
WITH
MOVE 'CFG_Data' TO 'D:\SQLData\Spotfire_Config.mdf',
MOVE 'CFG_Log' TO 'D:\SQLData\Spotfire_Config.ldf',
REPLACE;

🧠 新手理解

這一步就是:

把壓縮檔「解壓縮回資料庫」


🔍 六、驗證是否成功(非常重要)

你可以查一個「系統內建 View」

SELECT TOP 10 *
FROM Job_Status_View;

如果有資料:

✅ 表示 Automation Job 存在
✅ 排程有被帶過來
✅ 系統正常


⚠️ 七、最常見錯誤(90%的人卡這)


❌ 1. 還原成功但 Spotfire 連不上

原因:

👉 連線字串還指向「舊 Server」

✔ 解法:

改成:

localhost

❌ 2. 帳號不存在

錯誤現象:

Login failed for user

✔ 解法(示意):

CREATE LOGIN sf_user WITH PASSWORD = 'Test123!';
ALTER USER sf_user WITH LOGIN = sf_user;

❌ 3. 還原失敗(檔案路徑錯誤)

👉 SQL Server 沒權限寫入資料夾

✔ 解法:

  • 改成 SQL Server Data 目錄
  • 或給權限

🚀 八、進階:這樣做可以幹嘛?

完成後你可以:

✅ 1. 本機跑 Automation Services

不用動正式環境


✅ 2. Debug Job 問題

例如:

  • Job 為什麼沒跑
  • Routing Rule 錯誤
  • 排程時間異常

✅ 3. 做資料分析

例如你畫面中的:

SELECT * FROM Job_Instance_View;

👉 可以分析:

  • 哪些 Job 常失敗
  • 執行時間
  • Server 負載

🧠 九、工程師觀點(重點總結)

👉 Spotfire 本質:

Server = 程式
DB = 大腦(最重要)

👉 你做的事情其實是:

複製大腦 → 放到新身體

🎯 十、結論(給忙碌工程師)

如果你只記得一件事:

Spotfire 搬家 = 備份 2 個 DB + 還原

留言

這個網誌中的熱門文章

🔍Vue.js 專案錯誤排查:解決 numericFields is not defined 與合併儲存格邏輯最佳化

🖥️遠端桌面連線完整新手指南:Windows RDP、Chrome Remote Desktop、AnyDesk、TeamViewer 一次搞懂

🔎EF Core 連 Oracle 出現 ORA-00600 [kpp_concatq:2] 的完整排錯指南(含 EF Core ToString/CultureInfo 錯誤)