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


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