Конфигурация сервера: 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