**擴展預存程序 (xp_*)** 以 DLL 形式運行於 SQL Server 進程空間,**可存取作業系統資源** (檔案、登錄、網路、硬體資訊)。**權限極高,僅限 sysadmin 使用,生產環境嚴格管控。**
EXEC master..sp_msgetversion — 取得 SQL Server 版本號。EXEC master..xp_fixeddrives — 列出固定磁碟及可用空間 (MB)。EXEC master..xp_availablemedia — 列出磁碟機類型 (磁碟/光碟) 及可用空間 (位元組)。EXEC master..xp_dirtree 'C:', 1, 1 — 列出目錄樹。EXEC master..xp_fileexist 'C:\backup.bak', @flag OUT — 檢測檔案存在性,@flag=1 存在。EXEC master..xp_subdirs 'C:\WINNT' — 列出指定目錄下一級子目錄。EXEC master..xp_enum_oledb_providers — 列出已安裝 OLE DB 提供者。EXEC master..xp_enumcodepages — 列出已安裝代碼頁。EXEC master..xp_enumdsn — 列出系統配置的 DSN (ODBC 資料源)。EXEC master..xp_enumgroups — 列出 Windows 本地群組。EXEC master..xp_enumerrorlogs — 列出錯誤日誌檔案清單與最後更新時間。EXEC master..xp_readerrorlog — 讀取**目前**錯誤日誌完整內容。EXEC master..xp_getnetname — 取得 SQL Server 服務器電腦名稱。pwdencrypt (內部未文件化) — 密碼雜湊函數,**僅供研究/審計,生產嚴禁直接呼叫**。
擴展預存程序是「核彈級」工具,**知其然更知其所以然**,僅在無 CLR/外部選項的舊版環境緊急救援時考慮,並嚴格審計留痕。