版本定位
SQL Server 2000 SP4 為 2000 系列最終 Service Pack (累積 SP1~SP3a),於 2005 年釋出,主要解決相容性、穩定性、安全性與新硬體支援,為後續遷移至 SQL 2005 奠定穩定基線。
四大核心增強
1. 64 位元平台全面支援
- AMD64 / Intel EM64T:WOW64 子系統下運行 32 位元 SQL Server 2000,並支援無縫遷移至原生 64 位元版本 (IA-64/x64)。
- 記憶體突破 4GB 限制:AWE (Address Windowing Extensions) 配合
sp_configure 'awe enabled', 1 讓 32 位元實例使用高達 64GB 實體記憶體 (Enterprise Edition)。
- 首發 64 位元修補程式:SP4 為首個包含原生 64 位元二進位修正的 Service Pack。
2. 整合 MSXML 3.0 SP6
- 隨安裝媒體預載,免除獨立部署。
- 相較 SP3 內建 MSXML 2.6,3.0 完整支援 W3C XSLT 1.0、XPath 1.0、XML Schema、SAX2/DOM Level 2,效能與標準相容性大幅提升。
- 注意:SQLXML 3.0 SP3 (伺服器端 XML 功能:FOR XML、OPENXML、XML Bulk Load、Updategram、HTTP 端點) 不包含於 SP4,需另行下載安裝。
3. 230+ 修正 (SP3 僅 80+)
重點修正類別:
| 領域 | 代表性修正 |
| 合併複寫 | 二進制排序規則下合併複寫同步失敗 (誤報權限錯誤),實為排序衝突。 |
| DTS 設計師 | 安裝 SP3 後設計師可能違規存取 (AV),導致封包編輯/執行崩潰。 |
| 效能監視器 | 服務重啟後 PerfMon 共享記憶體建立失敗 (-1),無法繼續收集計數器。 |
| JDBC 加密 | Java 應用透過 JDBC 無法啟用協定加密 (API 呼叫缺失),SP4 修正驅動程式行為。 |
| TempDB 並發 | 高並發建立暫存表/表變數時的 PAGELATCH/锁爭用優化。 |
| 安全性 | 多項緩衝區溢位、權限提升、資訊洩露漏洞 (MS05-031 等公告涵蓋)。 |
4. 部署與相容性改善
- 滑流安裝:原始安裝媒體整合 SP4,支援無人值守安裝、系統管理員部署映像。
- Analysis Services 獨立 SP:OLAP 元件另有專屬 SP4,按需部署減少攻擊面。
- 向上相容:SP4 資料庫可直接附加/還原至 SQL Server 2005/2008/2012/2014/2016/2017/2019/2022 (相容等級 80)。
安裝前檢查清單
- 確認目前版本:
SELECT @@VERSION 應為 8.00.760 (SP3) 或 8.00.2039 (SP3a)。
- 完整備份所有使用者資料庫、Master、MSDB、Model。
- 停止所有應用連線、SQL Server Agent、全文檢索、DTS 封包執行。
- 磁碟空間:系統碟 ≥ 500MB、資料/記錄碟 ≥ 1.5x 目前大小 (備份/回滾空間)。
- 叢集環境:先被動節點、再主動節點,確保群組離線/上線正常。
已知問題與因應
- SP4 安裝後 DTS 封包含 ActiveX Script 任務可能失效:VBScript/JScript 引擎版本差異,建議改寫為 .NET 組件或 SSIS。
- 部分協力廠商備份軟體 (VDI) 需更新代理程式:確認廠商支援 SP4。
- SQL Server 2000 於 2013/4/9 結束延伸支援:無安全性更新、無付費事件支援,**強烈建議規劃遷移至支援中版本**。
下一步行動建議
- 非叢集獨立實例:維護窗口直接套用 SP4,驗證應用功能。
- 叢集/高可用環境:滾動升級,單節點驗證後再切換。
- 長期規劃:評估遷移至 SQL Server 2019/2022 (LTS) 或 Azure SQL Managed Instance,利用 資料庫遷移助理 (DMA)、資料庫遷移服務 (DMS) 實現近零停機遷移。