Me gustaría ejecutar xp_cmdshell (procedimiento TSQL) para montar una unidad de red y luego acceder a los archivos mdb remotos.Ejecutar comando xp_cmdshell como usuario específico
Soy administrador en el servidor MS SQL y he permitido xp_cmdshell ejecución en consecuencia.
Sin embargo, todavía hay un problema:
Cuando llamo xp_cmdshell, el usuario que ejecuta el comando es el SQL SysAdmin , es decir, la cuenta que dirigen proceso de SQL Server.
Deseo Xp_cmdshell ejecuta como la cuenta con la que estoy conectado con el servidor SQL, es decir administrador
Ambas tesis cuenta están en el grupo administrador, grupo SQLAdmin, y se les concede para CONTROLAR EL SERVIDOR. Ambos usuarios pertenecen al mismo dominio. Todo esto se ejecuta en la misma máquina.
Debido a este conflicto, no puedo utilizar una unidad de red, ya que está montado para SysAdmin y no para administrador
He intentado utilizar sp_ xp_ cmdshell_ PROXY_ cuenta para especificar la cuenta con la que quiero ejecutar xp_cmdshell, pero SysAdmin sigue siendo la cuenta utilizada.
Por lo tanto, este código:
select user_name(), suser_name;
exec xp_cmdshell 'echo %username%';
muestra:
Administrator Administrator
SysAdmin
¿Alguien sabe cómo hacerse pasar así la xp_cmdshell de comandos? ¿Hay algo para (re) configurar?
Gracias por su ayuda.
la cuenta de proxy sólo se utiliza cuando los usuarios no sysadmin ejecutar xp_cmdshell –
Entonces, ¿cómo puedo forzar a un usuario específico administrador de sistemas? – Antwan
Solo para aclarar: ¿ha utilizado sp_xp_cmd_shell_proxy_account para configurar la cuenta que desea usar y luego ha ejecutado el comando utilizando xp_cmdshell, y la cuenta utilizada sigue siendo la cuenta de servicio? Solo quiero asegurarme de que entiendo tus pasos. – SqlRyan