微軟於 2007 年西雅圖商業智能大會揭示代號「Katmai」的 SQL Server 2008 核心藍圖。本版本不再著重引擎核心重寫 (如 2005),而是聚焦於「可管理性」、「可擴展性」與「非結構化數據整合」,引入策略式管理框架、資源調控器、FILESTREAM、實體框架等里程碑特性,重新定義企業級資料庫平台標準。
痛點:數百個實例、數千個資料庫,命名規範、備份策略、索引填充因子、安全性配置靠人工檢查?
PBM 解決方案:
@Name NOT LIKE '%[_]%' (禁止底線)、@RecoveryModel = 2 (強制完整復原模式)典型應用場景:
| 治理領域 | 原則範例 | 評估模式 | 業務價值 |
|---|---|---|---|
| 命名規範 | 表名 PascalCase、欄位名 camelCase、PK 命名 PK_TableName | On Change: Prevent | 消除代碼審查 80% 命名爭議 |
| 備份合規 | 系統庫每日完整備份、用戶庫完整+記錄備份、備份檔案異地複製 | On Schedule (每日) | RPO=0 合規證據自動生成 |
| 索引標準 | 填充因子 80-90%、無重複索引、大表必須分區 | On Change: Log Only → Prevent | 避免效能退化上線 |
| 安全基線 | 無 sa 登入、強制密碼策略、敏感欄位加密、稽核啟用 | On Change: Prevent | 通過 SOX/PCI-DSS 審計 |
核心概念:
-- 1. 建立資源池:核心交易保底 60% CPU/記憶體,報表上限 30%
CREATE RESOURCE POOL Pool_OLTP WITH (MIN_CPU_PERCENT=60, MAX_CPU_PERCENT=100, MIN_MEMORY_PERCENT=60, MAX_MEMORY_PERCENT=100);
CREATE RESOURCE POOL Pool_Reporting WITH (MIN_CPU_PERCENT=0, MAX_CPU_PERCENT=30, MIN_MEMORY_PERCENT=0, MAX_MEMORY_PERCENT=30);
GO
-- 2. 建立工作負載群組
CREATE WORKLOAD GROUP Group_OLTP USING Pool_OLTP WITH (IMPORTANCE=HIGH, REQUEST_MAX_MEMORY_GRANT_PERCENT=25);
CREATE WORKLOAD GROUP Group_Reporting USING Pool_Reporting WITH (IMPORTANCE=LOW, REQUEST_MAX_CPU_TIME_SEC=3600, REQUEST_MAX_MEMORY_GRANT_PERCENT=10);
GO
-- 3. 分類器函數:根據 Application Name 路由
CREATE FUNCTION dbo.ClassifierFunction() RETURNS SYSNAME WITH SCHEMABINDING AS BEGIN
DECLARE @grp SYSNAME;
IF APP_NAME() LIKE '%Report%' OR APP_NAME() LIKE '%BI%' OR APP_NAME() LIKE '%Analytics%'
SET @grp = 'Group_Reporting';
ELSE
SET @grp = 'Group_OLTP';
RETURN @grp;
END;
GO
-- 4. 綁定並啟用
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = dbo.ClassifierFunction);
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
痛點:VARBINARY(MAX) 2GB 上限、資料庫備份膨脹、檔案系統流式存取不支援、BLOB 讀寫佔用 Buffer Pool
FILESTREAM 方案:
EXEC sp_configure filestream_access_level, 2; RECONFIGURE;ALTER DATABASE [DB] ADD FILEGROUP FG_FS CONTAINS FILESTREAM;CREATE TABLE Docs (Id UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL PRIMARY KEY, Data VARBINARY(MAX) FILESTREAM NULL);OpenSqlFilestream) 直接讀寫,繞過 SQL 引擎,高效能var q = from c in ctx.Customers where c.City == "Taipei" select c; 編譯期型別安全、IntelliSense 支援微軟承諾:SQL Server 2005 → 2008 週期縮短至 24-36 個月 (實際 2008/08 RTM),後續版本維持「約 2 年一個大版本」節奏。社群技術預覽版 (CTP) 將更頻繁釋出,讓客戶提前驗證遷移相容性。
行業觀察:Katmai (SQL 2008) 被公認為「企業級成熟度分水嶺」。PBM 解決了大規模實例治理難題,Resource Governor 讓混合負載共存成為可能,FILESTREAM 打通資料庫與檔案系統壁壘,Entity Framework 開啟 .NET ORM 標準化時代。這四大支柱至今仍是 Azure SQL / SQL 2022 的核心架構基因。