Crear archivo de pruebas des de SQL

Aplicable a SQL 2008 y SQL 2008 R2

Cómo crear un fichero de texto de pruebas des de comandos SQL?
En ocasiones necesitamos saber si des de el SQL tenemos permisos parar crear un archivo en una determinada carpeta, ya sea del propio servidor o en cualquier otra carpeta compartida de la red, y una forma muy facil para hacerlo es utilizando xp_cmdshell:

exec master..xp_cmdshell 'echo hola > c:archivo.txt'

Si no tenemos habilitado el xp_cmdshell en nuestro servidor SQL no va a devolver el siguiente error:

Mens 15281, Nivel 16, Estado 1, Procedimiento xp_cmdshell, Linea 1
SQL Server bloqueo el acceso a procedimiento 'sys.xp_cmdshell' del componente 'xp_cmdshell' porque este componente esta desactivado como parte de la configuracion de seguridad de este servidor. Un administrador del sistema puede habilitar el uso de 'xp_cmdshell' mediante sp_configure. Para obtener mas informacion acerca de como habilitar 'xp_cmdshell', vea el tema sobre la configuracion de area expuesta en los Libros en pantalla de SQL Server.

Para resolverlo habilitamos xp_cmdshell:

EXECUTE SP_CONFIGURE 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO

EXECUTE SP_CONFIGURE 'xp_cmdshell', '1'
RECONFIGURE WITH OVERRIDE
GO

EXECUTE SP_CONFIGURE 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
GO




Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)

Leave a Reply

Your email address will not be published. Required fields are marked *