domingo, 29 de julio de 2018

Ejecutar comandos CMD desde SQL SERVER

Buenas tardes queridos lectores, el día de hoy les hablare sobre la manera de ejecutar comandos CMD, o de consola desde el Managment Studio de SQL SERVER, esto es muy práctico y útil si se desea ejecutar un archivo bat por ejemplo, este comando se llama xp_cmdshell. 

Este comando es interno de SQL SERVER y se utiliza insertando el comando y entre comillas simples la sentencia de consola que se va a ejecutar.


Si deseamos ejecutar el comando dir, para listar los archivos de una carpeta, ejecutaremos el siguiente comando:


xp_cmdshell 'dir'


Al ejecutar este comando nos aparecerá el siguiente mensaje de error: 
Msg 15281, Level 16, State 1, Procedure xp_cmdshell, Line 1 [Batch Start Line 0]

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', search for 'xp_cmdshell' in SQL Server Books Online.

Esto es porque este procedimiento no esta activo de manera predeterminada, así que lo tendremos que activar y lo haremos de la siguiente manera: 
EXEC sp_configure 'show advanced options', 1; 
GO  

Este comando, activa la visualización de las opciones avanzadas. 
RECONFIGURE; 
GO 

Con este comando, reconfiguramos el SQL SERVER para actualizar las opciones avanzadas. 
EXEC sp_configure 'xp_cmdshell', 1; 
GO 

Con este comando habilitamos el uso de xp_cmdshell, y después reconfiguramos nuevamente. 
RECONFIGURE; 
GO
Listo, el uso de xp_cmdshell ya esta activado, por lo que ya lo podemos utilizar 
xp_cmdshell 'dir'


Listo, ya esta activo y en uso el comando, xp_cmdshell.

Hasta aquí el post, espero haya sido de su agrado y de su utilidad, espero compartan, comenten, den +1 o un clic a un anuncio que les interese. Saludos


Banderas de Visitantes

Flag Counter