服务器配置:xp_cmdshell
适用范围:SQL Server
本文介绍如何启用 xp_cmdshell
SQL Server 配置选项。 此选项使系统管理员能够控制是否可以在系统上执行 xp_cmdshell 扩展存储过程。 新安装中默认禁用 xp_cmdshell
选项。
启用此选项前,请务必考虑潜在的安全隐患。
- 新开发的代码不应使用
xp_cmdshell
存储过程,通常应将它保留为禁用状态。 - 某些旧版应用程序要求启用
xp_cmdshell
。 如果无法将这些应用程序修改为避免使用此存储过程,则可以按下面所述启用它。
注意
如果 xp_cmdshell
必须使用,建议仅在需要它的实际任务的持续时间内启用它作为安全最佳做法。 使用 xp_cmdshell
可以触发安全审核工具。
如果需要启用 xp_cmdshell
,可以使用基于策略的管理或运行 sp_configure
系统存储过程,如以下代码示例所示:
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'xp_cmdshell', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO