服务器配置: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