Параметр конфигурации сервера 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