什麼是 SQL Server Express?
SQL Server 2005 Express Edition 是 MSDE 的後繼產品,架構全面重設計。特點:
- 像 Access/JET 一樣輕鬆部署,但無 JET 相關問題。
- 可替代 JET,滿足 HIPAA 醫療資料安全法規要求。
- 無需升級即可從單用戶擴展至多用戶。
- 支援小型網站與 Client/Server 架構。
- Service Pack 可就地更新,易整合至應用程式部署腳本。
- 支援「隨附資料庫」:.MDF 檔案可直接連接,部署極簡單。
- 預設執行個體名稱
SQLEXPRESS,簡化連線字串。
安全系統的定義
對中小企業而言,資料遺失或遭竊同樣導致嚴重後果。安全包含:
- 防禦外部攻擊(Web 環境下尤重要)。
- 防止內部疏失或惡意操作導致資料遺失。
- 拒絕未授權人員存取,保護實體檔案與系統。
- 備份與無縫還原能力。
MSDE 開發者面臨的問題
- 預設
sa 密碼為空,極度不安全。
- 無法輕易限制網路存取(MSDE 預設停用網路協定)。
- 缺乏內建加密傳輸支援。
- 使用者實例隔離機制不完善。
SQL Server Express 的安全改進
- 強制強密碼:安裝時必須設定
sa 密碼或使用 Windows 驗證。
- 預設關閉網路:需明確啟用 TCP/IP 或 Named Pipes。
- 使用者實例:非管理員使用者可在自身安全內容下執行獨立執行個體,隔離資源。
- 加密連線:支援強制加密與憑證驗證。
- 隨附資料庫權限控管:.MDF 檔案存取受檔案系統 ACL 保護。
應用程式如何存取 Express 資料庫
- 本地連接:
Server=.\SQLEXPRESS;Database=MyDB;Trusted_Connection=True;
- 使用者實例連接:
User Instance=True;AttachDbFilename=|DataDirectory|\MyDB.mdf
- 網路連接:需於 SQL Server Configuration Manager 啟用協定、設定防火牆開放 1433 埠。
保護 Express 資料庫的實務步驟
- 安裝時選擇 僅 Windows 驗證 模式。
- 若需混合模式,設定強複雜度
sa 密碼並嚴格保管。
- 啟用 強制加密連線(需憑證)。
- 僅開放必要網路協定與連接埠。
- 定期備份(可使用
sqlcmd 排程)。
- 套用最新 Service Pack 與安全性更新。
- 審核登入失敗事件(啟用稽核)。
註:撰寫本文時 SQL Server 2005 Express Beta 2 不應用於生產環境。