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

Дальнейшие действия