Параметр конфигурации сервера xp_cmdshell

Применимо к:SQL Server

В этой статье описано, как включить параметр конфигурации 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  

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