xp_cmdshell durante el arranque del servidor

28/02/2005 - 15:38 por Ramon Moliner | Informe spam
Hola a todos,

Tenemos un procedimiento almacenado en la base de datos master que se
ejecuta cuando arranca
el servidor.(exec sp_procoption N'sp_ICarDMSStartup', N'startup', N'true').

Este procedimiento llama al xp_cmdshell para obtener cierta información del
disco duro.

INSERT #xpoutput EXEC master.dbo.xp_cmdshell "dir c:\dummy"

Cuando este procedimiento se ejecuta durante el arranque del servidor,
xp_cmdshell devulve vacio.
Cuando es ejecutado directamente desde el analizador de consultas (con login
"sa"), el procedimiento
devuelve la información correcta y todo va bien.

Ya sabemos que xp_cmdshell debe ejecutarse con permisos de sysadmin.
Pero ... ¿Alguien sabe que permisos se utilizan cuando un procedimiento se
ejecuta durante el arranque del servidor?

Nota:

SQL Server 2000 8.00.194 (Build 3790) en un Windows 2003
El servicio SQL Server service usa la "Cuenta local del sistema" en los
parametros de servicios NT.

Gracias por adelantado.

Ramon Moliner
 

Leer las respuestas

#1 Maxi
28/02/2005 - 16:26 | Informe spam
Hola, por logica estaria usando el perfil con que estas iniciando el
servicio de sqlserver, quizas lo tengas con LocalSystem y ahi este el
problema


Salu2
Maxi


"Ramon Moliner" escribió en el mensaje
news:
Hola a todos,

Tenemos un procedimiento almacenado en la base de datos master que se
ejecuta cuando arranca
el servidor.(exec sp_procoption N'sp_ICarDMSStartup', N'startup',
N'true').

Este procedimiento llama al xp_cmdshell para obtener cierta información
del disco duro.

INSERT #xpoutput EXEC master.dbo.xp_cmdshell "dir c:\dummy"

Cuando este procedimiento se ejecuta durante el arranque del servidor,
xp_cmdshell devulve vacio.
Cuando es ejecutado directamente desde el analizador de consultas (con
login "sa"), el procedimiento
devuelve la información correcta y todo va bien.

Ya sabemos que xp_cmdshell debe ejecutarse con permisos de sysadmin.
Pero ... ¿Alguien sabe que permisos se utilizan cuando un procedimiento se
ejecuta durante el arranque del servidor?

Nota:

SQL Server 2000 8.00.194 (Build 3790) en un Windows 2003
El servicio SQL Server service usa la "Cuenta local del sistema" en los
parametros de servicios NT.

Gracias por adelantado.

Ramon Moliner


Preguntas similares