xp_cmdshell (opción de configuración del servidor)

Se aplica a:SQL Server

En este artículo se describe cómo habilitar la opción de configuración xp_cmdshell de SQL Server. Esta opción permite a los administradores del sistema controlar si el procedimiento almacenado extendido xp_cmdshell se puede ejecutar en un sistema. De forma predeterminada, la opción xp_cmdshell está deshabilitada en las nuevas instalaciones.

Antes de habilitar esta opción, es importante tener en cuenta las posibles implicaciones de seguridad.

  • El código recién desarrollado no debe usar el procedimiento almacenado xp_cmdshell y, por lo general, se debe dejar deshabilitado.
  • Algunas aplicaciones heredadas requieren la habilitación de xp_cmdshell. Si no se pueden modificar para evitar el uso de este procedimiento almacenado, puede habilitarlo como se describe a continuación.

Nota:

Si debe usar xp_cmdshell, como procedimiento recomendado de seguridad, se aconseja habilitarlo únicamente mientras dure la tarea que lo requiere. El uso de xp_cmdshell puede desencadenar herramientas de auditoría de seguridad.

Si necesita habilitar xp_cmdshell, puede usar la administración basada en directivas o ejecutar el procedimiento almacenado del sistema sp_configure como se muestra en el ejemplo de código siguiente:

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

Pasos siguientes