C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\ (2022 默認實例)
C:\Program Files\Microsoft SQL Server\MSSQL16.INST01\MSSQL\ (具名實例)
| 資料夾 | 用途 | 關鍵檔案/內容 | 維運注意 |
|---|---|---|---|
| Backup | 預設備份檔存放 | *.bak, *.trn | 建議改至專用備份磁碟,設定維護計畫自動清理 |
| Binn | 核心執行檔、DLL、擴充預存程序 | sqlservr.exe, sqlos.dll, xp_*.dll, sqlmin.dll | **嚴禁手動修改/刪除**,補丁升級自動維護 |
| Books | 離線說明文件 (CHM) | SQLHelp.chm | 可刪除節省空間,線上文檔更新 |
| Data | **預設資料庫檔案目錄** (系統庫、使用者庫) | *.mdf, *.ndf, *.ldf | **生產環境強烈建議變更至專用資料/記錄磁碟** |
| DevTools\Include | OLE DB / ODBC 開發標頭檔 | *.h (sqloledb.h, sqlncli.h) | 開發機保留,生產機可刪 |
| DevTools\Lib | 開發匯入庫 | *.lib | 同上 |
| DevTools\Samples | 範例程式碼 | C++/C# 範例 | 可刪除 |
| FTData | 全文索引目錄 | 全文索引片段、暫存檔 | 大量全文索引建議移至獨立磁碟 |
| Install | 安裝日誌、組態檔、補丁備份 | Setup Bootstrap\LOG\*, ConfigurationFile.ini | 故障排查關鍵,**保留至少 6 個月** |
| Jobs | Agent 作業輸出檔 (步驟記錄) | *.txt, *.log | 定期清理,避免塞滿 C 槽 |
| Log | 錯誤日誌、預設追蹤、系統健康 Extended Events | ERRORLOG.*, system_health_*.xel, log_*.trc | 設定錯誤日誌保留數量 (預設 6),定期歸檔 |
| ReplData | 複寫快照檔案 | *.sch, *.bcp, *.idx, *.pre | 複寫拓撲確定後可調整位置 |
| Upgrade | 升級精靈暫存檔、舊版資料庫附掛腳本 | *.sql, *.log | 升級完成驗證後可清理 |
-- 範例:將資料、記錄、備份、全文、TempDB 分離到不同磁碟
-- D:\SQLData (資料檔)
-- E:\SQLIndex (索引檔案群組)
-- F:\SQLBlob (FILESTREAM/LOB)
-- L:\SQLLog (交易日誌)
-- B:\SQLBackup (備份)
-- T:\TempDB (TempDB 專用 NVMe)
安裝時在「資料庫引擎配置 → 資料目錄」頁面指定;已安裝實例需離線移動檔案 + ALTER DATABASE MODIFY FILE + 更新註冊表/服務參數。
NT SERVICE\MSSQLSERVER (或服務帳號) **完全控制**,Administrators 完全控制,SYSTEM 完全控制,**移除 Users/Everyone**。icacls 或 GPO 推送 ACL 基線。Docker/K8s 部署時,掛載點對應:
/var/opt/mssql/data → Data/var/opt/mssql/log → Log/var/opt/mssql/backup → Backup/var/opt/mssql/secrets → 機密 (SA 密碼、憑證)熟悉目錄結構,能快速定位日誌、規劃儲存、硬化權限、排查安裝/升級問題。