Поделиться через


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

Следующие шаги