SQL Server 2000 移除傳統叢集伺服器支援,引入**聯合伺服器**架構,以分散式分割檢視實現水平擴展,支援近乎無限的負載處理能力。
| 特性 | 叢集伺服器 | 聯合伺服器 |
|---|---|---|
| 架構模式 | 共享磁碟、單一系統映像 | 獨立伺服器、水平資料分割 |
| 資料分佈 | 共享儲存 | 分散於各節點 |
| 管理介面 | 單一管理點 | 各節點獨立管理(EM 可群組管理) |
| 業務邏輯 | 各節點執行相同邏輯 | 各節點獨立運作,聯合時協作 |
| 擴展方式 | 受硬體限制 | 簡單新增節點伺服器 |
| 容錯特性 | 單點故障風險 | 節點故障不影響其他分區 |
Enterprise Manager → 安全性 → 連結伺服器 → 新增連結伺服器 → 類型選 SQL Server → 填寫認證資訊
-- 節點 1:ID 1-29999
CREATE TABLE Table_1_To_30000 (
ID INT PRIMARY KEY CHECK (ID BETWEEN 1 AND 29999),
... other fields
)
-- 節點 2:ID 30000-59999
CREATE TABLE Table_30000_To_60000 (
ID INT PRIMARY KEY CHECK (ID BETWEEN 30000 AND 59999),
... other fields
)
-- 節點 3:ID 60000 以上
CREATE TABLE Table_60000_To (
ID INT PRIMARY KEY CHECK (ID > 60000),
... other fields
)
CREATE VIEW Partitioned_Views AS
SELECT * FROM MyDatabase.dbo.Table_1_To_30000
UNION ALL
SELECT * FROM Server2.MyDatabase.dbo.Table_30000_To_60000
UNION ALL
SELECT * FROM Server3.MyDatabase.dbo.Table_60000_To
應用程式僅需查詢 Partitioned_Views,引擎自動路由資料寫入正確節點、從正確節點讀取資料。
| 適用 | 不適用 |
|---|---|
| 超大型資料倉庫 | 強一致性要求的 OLTP 核心交易 |
| 歷史資料歸檔查詢 | 高頻跨分區 JOIN 查詢 |
| 多租戶資料隔離 | 單表資料量未達單機瓶頸 |
| 地理分散式部署 | 缺乏專業 DBA 維護團隊 |