SQL Server 2000 僅支援 Windows/Intel 架構,DB2 UDB V8 則跨支援 Linux、UNIX、Windows 及多種硬體架構,核心程式碼高度統一。本文聚焦 Windows 平台,透過 GUI 工具對比 (Enterprise Manager vs Control Center),建立概念映射表,加速技能轉移。
SQL Server:預設實例 (機器名) + 命名實例 (機器名\實例名)。每新增實例需完整安裝程式碼副本 (不同路徑),僅少數檔案共享。管理工具:Enterprise Manager GUI。
DB2 UDB:Windows 預設 "DB2" 實例,Linux/UNIX 為 "db2inst1"。新增實例僅需 db2icrt <name>,**全機器共享單一程式碼副本**。環境變數 DB2INSTANCE 切換當前實例 (類似 ORACLE_SID)。Control Center GUI 管理 (圖 3)。刪除實例 db2idrop 僅移除實例服務,不動核心程式碼。
| SQL Server 服務 | DB2 UDB 對應服務 | 說明 |
|---|---|---|
| MSSQLServer (預設實例) | DB2 - DB2-0 (預設實例引擎) | 核心資料庫引擎 |
| MSSQL$<instance> (命名實例) | DB2 - <instance_name> | 具名實例引擎 |
| SQLServerAgent | DB2DAS - DB2DAS00 (DAS) | 管理代理/作業排程 |
| SQLAgent$<instance> | DB2DAS - DB2DAS00 (共享) | 全機器單一 DAS |
| MS DTC | Sync Point Manager (SPM) | 分散式交易協調 |
| Microsoft Search | Net Search Extender (另購) | 全文檢索 |
SQL Server:實例下多資料庫,master 資料庫集中存放所有使用者資料庫中繼資料,tempdb 共享暫存空間,跨庫查詢原生支援。
DB2 UDB:每資料庫為**完全獨立單元**,擁專屬類別表空間 (SYSCATSPACE)、暫存表空間 (TEMPSPACE1)、使用者表空間 (USERSPACE1)。系統資料庫目錄 (二進位) 記錄實例下可連線資料庫。**無跨庫中繼資料共享**,跨庫查詢需啟用聯邦支援。建庫需顯式 CREATE DATABASE 或 Control Center (圖 5、6),Show Command 顯示底層 SQL/指令 (對應 iSQL/Query Analyzer)。
SQL Server:資料檔 + 檔案群組 管理儲存。
DB2 UDB:容器 (檔案/目錄/裸裝置) 為物理儲存單元;表空間 為邏輯層,關聯特定緩衝池與容器。**熱點表可獨立表空間+專屬緩衝池**,確保記憶體常駐。建庫預設三表空間 (表 3)。表空間不跨庫共享,不同庫可同名 (圖 2)。
分類:SMS (系統管理,目錄,自動擴展,低管理) vs DMS (資料庫管理,檔案/裸裝置,預分配,高效能)。對應 SQL Server 自動增長檔案 vs 固定大小檔案。
對應表 4:master→SYSCATSPACE、model→db2look 工具、msdb→工具類別目錄、Northwind/pubs→SAMPLE、tempdb→TEMPSPACE1、distribution→內建複寫/Information Integrator。
SQL Server:[Instance].[DB].[Owner].[Object] (前三段可選)。
DB2 UDB:Schema.Object。**Schema 不綁定使用者帳號**,IMPLICIT_SCHEMA 權限即可隱式建立新 Schema (如 CREATE TABLE WORLD.TABLEA ...)。連線時已指定資料庫,故名稱無需含資料庫部分。
SQL Server:Transact-SQL (T-SQL) 解釋執行,每次優化,用於所有指令。
DB2:SQL Procedural Language (SQL PL) 符合 SQL/PSM 標準,**編譯為 C 代碼再編譯為機器碼**,一次編譯多次執行,效能優勢明顯 (特別 unfenced 模式)。需 C 編譯器 (未來版本將改善)。Trigger/UDF 可用 Inline SQL PL 免除 C 編譯。Development Center 提供全週期工具。
SQL Server:Enterprise Manager 屬性頁面管理實例/資料庫級參數。
DB2:Database Manager Configuration (DBM CFG,實例級) + Database Configuration (DB CFG,資料庫級)。Control Center 右鍵 Configure Parameters 圖形化管理 (圖 7、8)。Configuration Advisor (圖 9) 依硬體資源自動生成最佳參數。db2set 管理平台相關登錄變數 (非 Windows Registry)。
| SQL Server | DB2 UDB | 備註 |
|---|---|---|
| Windows Authentication / Mixed Mode | OS 驗證 (類似 Windows Auth) | DB2 無內部帳號,帳密由 OS 管理 |
| Fixed Server/Database Roles | Authority (SYSADM/SYSCTRL/SYSMAINT/DBADM/LOAD) | 預定義,無用戶自訂 Authority |
| User-defined Database Roles | OS 群組授予 Authority/Privilege 實現 | 以 OS 群組替代角色概念 |
| Permissions (GRANT/DENY/REVOKE) | Privilege (Database/Object Privilege) | Control Center 圖形化管理 (圖 10) |
特殊 Authority (SYSADM/SYSCTRL/SYSMAINT) 僅能透過 DBM CFG 設定,GRANT 不適用。SYSADM 相當 SQL Server sysadmin 角色。
| 功能領域 | SQL Server | DB2 UDB |
|---|---|---|
| 命令列介面 | iSQL / OSQL | Command Line Processor (CLP, db2cmd → db2) |
| GUI 查詢/指令工具 | Query Analyzer | Command Center (圖 13) |
| 綜合管理主控台 | Enterprise Manager (圖 14) | Control Center (圖 15) |
| 資料庫建立/維護 | Database Configuration Assistant | Control Center |
| 網路設定 | Network Configuration Assistant / Network Manager | CATALOG 指令 / Configuration Assistant GUI |
| 效能調優套件 | Change/Tuning/Diagnostic Pack | Event Analyzer / Health Center / Indoubt Transaction Manager / Memory Visualizer |
| 資料移動 | SQL Loader (sqlldr) / imp / exp | IMPORT / LOAD / db2move (跨平台) |
| 備份恢復 | Recovery Manager | BACKUP 指令 / Control Center |
| 開發工具 (v8.2+) | Visual Studio 整合 | Developer Workbench (DWB, Eclipse 基礎,取代 Development Center) |
db2icrt/db2idrop 秒級操作IMPLICIT_SCHEMA 賦能敏捷建模掌握上述七大轉換點,SQL Server DBA 可在極短時間內勝任 DB2 UDB V8 管理與開發工作,並將技能無縫延伸至 Linux/UNIX 平台。