xp_cmdshell (opção de configuração do servidor)

Aplica-se a:SQL Server

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

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

  • O código desenvolvido recentemente não deve usar o procedimento armazenado xp_cmdshell e, em geral, ele deve ser mantido desabilitado.
  • Alguns aplicativos herdados exigem que o xp_cmdshell seja habilitado. Se eles não puderem ser modificados para evitar o uso desse procedimento armazenado, habilite-o conforme descrito abaixo.

Observação

Se xp_cmdshell precisar ser usado, como uma melhor prática de segurança, é recomendável habilitá-lo apenas durante a tarefa real que o exige. Usar xp_cmdshell pode disparar ferramentas de auditoria de segurança.

Se precisar habilitar o xp_cmdshell, use o Gerenciamento baseado em políticas ou execute o procedimento armazenado do sistema sp_configure, conforme mostrado no seguinte exemplo de código:

-- 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

Próximas etapas