Configuração do servidor: xp_cmdshell

Aplica-se a:SQL Server

Este artigo descreve como habilitar a opção de configuração do xp_cmdshell SQL Server. Essa opção permite que os administradores do sistema controlem se o xp_cmdshell procedimento armazenado estendido pode ser executado em um sistema. Por predefinição, a opção xp_cmdshell está desativada em novas instalações.

Antes de ativar essa opção, é importante considerar as possíveis implicações de segurança.

  • O código recém-desenvolvido não deve usar o xp_cmdshell procedimento armazenado e, geralmente, deve ser deixado desativado.
  • Algumas aplicações legadas requerem que xp_cmdshell esteja ativado. Se eles não puderem ser modificados para evitar o uso desse procedimento armazenado, você poderá habilitá-lo conforme descrito abaixo.

Observação

Se xp_cmdshell for necessário usá-lo, como prática recomendada de segurança, recomenda-se habilitá-lo apenas durante a duração da tarefa real que o exige. O uso xp_cmdshell pode acionar ferramentas de auditoria de segurança.

Se precisar de ativar xp_cmdshell, pode utilizar a Gestão Baseada em Políticas ou executar o procedimento armazenado do sistema sp_configure, como mostrado no exemplo de código seguinte:

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