Home

SQL Server blocked access to procedure 'sys.xp_cmdshell' in SQl Server 2008

webmaster's picture

Hay casos en los que en el momento de de ejecutar un procedimiento almacenado que conlleve una llamada al procedimiento de la shell de comandos en SQL 'xp_cmdshell' puede salir el siguiente error:

SQL Server blocked access to procedure 'sys.xp_cmdshell' of component 'xp_cmdshell' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'xp_cmdshell' by using sp_configure. For more information about enabling 'xp_cmdshell', see "Surface Area Configuration" in SQL Server Books Online.

Veamos como se soluciona este error.

En el mensaje nos especifica que SQL ha bloqueado el acceso debido a que esta desactivada la opción del uso del componente xp_cmdshell en la tabla de configuración del servidor. Por defecto esta opción está desactivada

Si ejecutamos la siguiente consulta veremos que en efecto la linea xp_cmdshell  tiene en la columna value_in_use = 0

SELECT * FROM sys.configurations
ORDER BY name ;
GO
 
Para activar el uso del xp_cmdshell  ejecutamos el siguiente comando de T-SQL:
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO

 

Fuente: 

Centro Práctico - LEMURSOLUTION

Contacto: 
webmaster