BCP OUT

13/07/2005 - 17:10 por Enrique Barceló | Informe spam
Hola,

estoy ejecutando un BCP ... OUT con xp_cmdshell desde un procedimiento
almacenado que se llama desde una aplicación web.

El problema es que para ejecutar esto, el usuario que ejecute xp_cmdshell
tiene que ser system administrator (yo lo que estoy haciendo es generar
desde la web un fichero) y creo que no es aconsejable poner como system
administrators a todos los usuarios de la web.

La única solución que me queda es hacerlo mediante un DTS, pero aquí el
problema es que el fichero de salida tiene que tener un nombre variable,
cosa que no puedo hacer desde el DTS...

¿Alguien me puede indicar como puedo solucionar esto?

Gracias.

Un saludo,

Enrique Barceló
 

Leer las respuestas

#1 Isaias
13/07/2005 - 17:35 | Informe spam
Hola Enrique

Cuando un usuario miembro de la función fija de servidor sysadmin llama a
xp_cmdshell, xp_cmdshell se ejecutará en el contexto de seguridad en el que
se esté ejecutando el servicio SQL Server. Cuando el usuario no sea miembro
del grupo sysadmin, xp_cmdshell representará la cuenta de proxy del Agente
SQL Server, que se especifica mediante xp_sqlagent_proxy_account. Si la
cuenta de proxy no está disponible, xp_cmdshell producirá errores.

Por lo tanto, debes cambiar el contexto de seguridad que tienes en el Agent,
para que xp_cmdshell se ejecute bajo esta cuenta.

Preguntas similares