SQL Server 2012 不負眾望,海量新功能幾乎覆蓋所有用戶類型:BI 專家渴望的 Reporting Service、IT 夢寐以求的查詢效能與可用性。除少數遺憾外,幾無可挑剔之處。
錦上添花的可用性:AlwaysOn 與 Contained DB
AlwaysOn:徹底超越鏡像
- 多可讀次要複本:主庫可配置多組唯讀副本,平時作報表負載分流,解決鏡像「不可讀、單一目標」痛點。
- 同步/非同步彈性:支援同步提交 (零資料遺失) 與非同步提交 (高效能/跨地理) 混合部署。
- 可用性群組 (AG):將相互依賴的多個資料庫納入同一群組,單一資料庫故障觸發整群組容錯移轉,解決跨庫依賴導致的業務不一致難題。
Contained DB:可攜式資料庫雛形
將資料庫轉為獨立體系,無外部依賴 (登入、Agent 作業、跨庫物件)。資料庫用戶無伺服器級登入,遷移時免同步帳號資訊。雖為首版有局限,但開啟了資料庫可攜化的重要大門。
事件追蹤革命:XEvents 取代 Profiler,Distributed Replay 重塑重播
- Extended Events (XEvents) GUI:完全取代 SQL Profiler/Trace。彈性極高,效能影響微乎其微,支援 50GB 級 Trace 捕獲。
- Distributed Replay:多機器協同重播生產負載,精準模擬真實併發與突發流量,升級測試與容量規劃利器。
索引體系雙雄:線上重建全支援 + Columnstore 列存儲
線上重建索引 (Online Rebuild) 全面支援
2005 版僅支援固定長度類型,2012 移除所有限制:varchar(max)、nvarchar(max)、varbinary(max)、XML 等大物件類型皆可線上重建,真正實現 7×24 索引維護。
Columnstore 索引:資料倉庫效能核彈
- 以欄為單位存儲 + 高壓縮 + 批次模式處理。
- 官方宣稱 10 倍效能提升,實測遠超此數。
- 唯讀屬性決定其專攻 OLAP/數據倉庫,不適用 OLTP 寫入密集場景。
T-SQL 強化:窗口函數與 FileTable
- LAG / EOMONTH:LAG 讓每列訪問前一列值,輕鬆計算環比;EOMONTH 直接取得月份最後一日,簡化日期邏輯。
- FileTable:將 FILESTREAM 透明化。建立 FileTable 指定檔案系統目錄,拖放檔案即入庫,T-SQL 與 Windows Explorer 雙向即時同步操作,橋接結構化與非結構化資料管理。
兩大遺憾
- PowerShell 幾乎零增強:對比 AlwaysOn/備份恢復的大幅強化,PS 僅微調,違背早期重視腳本自動化的戰略。
- SSMS (管理工作室) 原地踏步:雖遷入 VS 2010 Shell,但多伺服器管理、報表、PS 整合等剛需均未落地,DBA 日常效能未獲實質提升。
「滿五原則」驗證
升級至少需五大顯著功能。SQL Server 2012 給出:AlwaysOn、Columnstore、Contained DB、XEvents/Replay、FileTable、Power View、DQS、SSIS/SSAS/SSRS 全線強化……理由遠超五條,升級動力充足。