Microsoft SQL Server 是關聯式資料庫管理系統(RDBMS)的標竿產品之一。其起源可追溯至 1988 年,由 Microsoft、Sybase 與 Ashton-Tate 合作推出首個 OS/2 版本;隨著 Windows NT 問世,Microsoft 將核心代碼移植至 Windows 平台,並獨自發展演進至今。本文為初學者梳理完整學習路徑,涵蓋核心觀念、工具操作、T-SQL 程式設計、管理維護與進階特性。
核心基礎觀念
- 關聯式資料庫理論:實體關聯模型、正規化(1NF–5NF)、主鍵/外鍵約束、參考完整性。
- 資料庫物件:資料表、檢視表、索引、預存程序、觸發器、使用者定義函數、規則與預設值。
- 系統資料庫:master、model、msdb、tempdb 的角色與維護要點。
安裝與環境建置
- 版本選擇與硬體需求評估(Enterprise / Standard / Express)。
- 全新安裝、升級舊版(如 7.0 → 2000)、服務帳戶與排序規則設定。
- 啟動/關閉服務、註冊伺服器、連線與斷開、伺服器屬性配置。
企業管理器實務操作
- 介面導覽:物件瀏覽器、詳細資訊窗格、工具列與右鍵選單。
- 資料庫全生命週期:建立、屬性設定、瀏覽、修改、刪除、壓縮、移動、維護計畫。
- 資料表管理:建立表、欄位資料類型、約束(PRIMARY KEY、FOREIGN KEY、CHECK、UNIQUE)、索引建立與調整精靈、圖表設計。
- 安全性架構:登入帳戶、資料庫使用者、角色、權限授予/撤銷/拒絕、伺服器/資料庫角色成員資格。
Transact-SQL (T-SQL) 程式設計
基礎語法
- 資料類型、變數宣告、註解、運算子、萬用字元、流程控制(IF…ELSE、WHILE、CASE、GOTO)。
- 統計函數、算術函數、字串函數、日期時間函數、系統函數。
資料操作語言 (DML)
- 查詢:SELECT、連接(INNER/OUTER/CROSS/SELF)、子查詢、UNION/EXCEPT/INTERSECT、結果集儲存。
- 異動:INSERT、UPDATE、DELETE、MERGE、交易控制(BEGIN/COMMIT/ROLLBACK TRANSACTION)、鎖死偵測與解除。
進階程式物件
- 預存程序:建立、參數、輸出、動態 SQL、系統預存程序、權限管理。
- 觸發器:AFTER/INSTEAD OF、觸發順序、巢狀/遞迴觸發、實務應用(稽核、衍生資料維護)。
- 游標:類型(靜態/動態/順向/鍵集)、宣告/開啟/擷取/關閉/釋放、效能考量與集合式替代方案。
- 使用者定義函數:純量、內嵌資料表值、多陳述式資料表值,與檢視表/預存程序的差異比較。
資料完整性與索引策略
- 規則、CHECK 約束、預設值、資料類型自訂。
- 叢集/非叢集索引、填滿因子、統計資料更新、索引碎片整理、索引調整精靈。
- 索引檢視表:建立條件、效能獲益與限制。
備份、還原與高可用性
- 備份裝置、完整/差異/記錄備份、備份精靈、還原策略(時間點還原、頁面還原)、系統資料庫災難復原。
- 複寫架構:快照式、交易式、合併式複寫、衝突解決、複寫監視器。
自動化與監控
- SQL Server Agent:作業排程、步驟、警示、操作員通知(電子郵件/尋呼/網路訊息)。
- 效能工具:SQL Profiler 追蹤、查詢分析器執行計畫、DBCC 指令、系統監視器計數器。
資料轉換與 Web 整合
- DTS(Data Transformation Services):匯入/匯出精靈、封裝設計、ActiveX Script、工作流控制。
- XML 支援:FOR XML、OPENXML、XML 大量載入、HTTP 端點、SQLXML 管理檔案。
- Web Assistant Wizard:靜態/動態網頁產生。
參考速查
- SQL Server 2000 保留字、全域變數、SET 選項、DBCC 指令完整列表。
建議初學者依序完成「環境建置 → 核心觀念 → 企業管理器操作 → T-SQL 基礎 → 進階物件 → 管理維護」,並搭配官方範例資料庫(Northwind、pubs)實作練習,即可紮實掌握 SQL Server 基礎能力。