萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> 資料庫綜合

SQL Server 安裝目錄結構與系統資料夾用途完整對照表

預設安裝根目錄

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\IncludeOLE DB / ODBC 開發標頭檔*.h (sqloledb.h, sqlncli.h)開發機保留,生產機可刪
DevTools\Lib開發匯入庫*.lib同上
DevTools\Samples範例程式碼C++/C# 範例可刪除
FTData全文索引目錄全文索引片段、暫存檔大量全文索引建議移至獨立磁碟
Install安裝日誌、組態檔、補丁備份Setup Bootstrap\LOG\*, ConfigurationFile.ini故障排查關鍵,**保留至少 6 個月**
JobsAgent 作業輸出檔 (步驟記錄)*.txt, *.log定期清理,避免塞滿 C 槽
Log錯誤日誌、預設追蹤、系統健康 Extended EventsERRORLOG.*, 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 + 更新註冊表/服務參數。

權限設定 (ACL)

  • 資料/記錄/備份/全文目錄:NT SERVICE\MSSQLSERVER (或服務帳號) **完全控制**,Administrators 完全控制,SYSTEM 完全控制,**移除 Users/Everyone**。
  • Binn/Install/Upgrade:僅 Administrators/SYSTEM/TRUSTEDINSTALLER 可寫入。
  • 使用 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 密碼、憑證)

熟悉目錄結構,能快速定位日誌、規劃儲存、硬化權限、排查安裝/升級問題。

copyright © 萬盛學電腦網 all rights reserved