xp_cmdshell (伺服器組態選項)
適用於:SQL Server
本文描述如何啟用 xp_cmdshell
SQL Server 組態選項。 此選項可供系統管理員控制 xp_cmdshell 擴充預存程序是否可在系統上執行。 根據預設,新安裝的 xp_cmdshell
選項為停用。
啟用此選項前,請務必考量潛在安全性影響。
- 新開發的程式碼不應使用
xp_cmdshell
預存程序,且通常應該保持停用。 - 某些繼承應用程式則必須啟用
xp_cmdshell
。 如果無法修改這些應用程式以避免使用這個預存程序,則可依照下述來加以啟用。
注意
如果必須使用 xp_cmdshell
,作為安全的最佳做法,建議只在需要該選項的實際工作期間才予以啟用。 使用 xp_cmdshell
可觸發安全性稽核工具。
如果需要啟用 xp_cmdshell
,則可使用原則式管理或執行 sp_configure
系統預存程序,如下列程式碼範例所示:
-- To allow advanced options to be changed.
EXECUTE sp_configure 'show advanced options', 1;
GO
-- To update the currently configured value for advanced options.
RECONFIGURE;
GO
-- To enable the feature.
EXECUTE sp_configure 'xp_cmdshell', 1;
GO
-- To update the currently configured value for this feature.
RECONFIGURE;
GO
-- To set "show advanced options" back to false
EXECUTE sp_configure 'show advanced options', 0;
GO
-- To update the currently configured value for advanced options.
RECONFIGURE;
GO