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

下一步