Problemas accesando a un archivo plano desde sql server
Hola, si alguien me puede ayudar, es que estoy intentando abrir y leer una linea de un archivo de texto desde un stored procedure y ya lo hice con xp_cmdshell pero este xp solo se deja correr para usuarios sysadmin, quisiera saber como hago para que un usuario normal lo corra sin que este usuario quede con muchas libertades. Gracias por su ayuda.
Martha Lucía
Martha Lucía
Cuando se conceden permisos de ejecución a los usuarios, éstos pueden ejecutar cualquier comando del sistema operativo en el intérprete de comandos de Microsoft Windows NT® sobre el cual la cuenta que ejecute Microsoft SQL Server tenga permisos de ejecución.
De forma predeterminada, sólo los miembros de la función fija de servidor sysadmin pueden ejecutar este procedimiento almacenado extendido. Sin embargo, puede conceder a otros usuarios permisos de ejecución sobre este procedimiento almacenado.
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. Esto sólo sucede en Microsoft® Windows NT® 4.0 y Windows 2000. En Windows 9.x no hay representación y xp_cmdshell siempre se ejecuta en el contexto de seguridad del usuario de Windows 9.x que inició SQL Server.
Nota:
En versiones anteriores, un usuario que tuviera permisos de ejecución para xp_cmdshell ejecutaba el comando en el contexto de la cuenta de usuario del servicio MSSQLServer. SQL Server se podía configurar (mediante una opción de configuración) de forma que los usuarios que no tuvieran acceso de sa a SQL Server pudieran ejecutar xp_cmdshell en el contexto de la cuenta SQLExecutiveCmdExec de Windows NT. En SQL Server 7.0, la cuenta se llama SQLAgentCmdExec. Los usuarios que no son miembros de la función fija de servidor sysadmin ejecutan ahora los comandos en el contexto de esta cuenta sin tener que especificar opciones de configuración.
De forma predeterminada, sólo los miembros de la función fija de servidor sysadmin pueden ejecutar este procedimiento almacenado extendido. Sin embargo, puede conceder a otros usuarios permisos de ejecución sobre este procedimiento almacenado.
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. Esto sólo sucede en Microsoft® Windows NT® 4.0 y Windows 2000. En Windows 9.x no hay representación y xp_cmdshell siempre se ejecuta en el contexto de seguridad del usuario de Windows 9.x que inició SQL Server.
Nota:
En versiones anteriores, un usuario que tuviera permisos de ejecución para xp_cmdshell ejecutaba el comando en el contexto de la cuenta de usuario del servicio MSSQLServer. SQL Server se podía configurar (mediante una opción de configuración) de forma que los usuarios que no tuvieran acceso de sa a SQL Server pudieran ejecutar xp_cmdshell en el contexto de la cuenta SQLExecutiveCmdExec de Windows NT. En SQL Server 7.0, la cuenta se llama SQLAgentCmdExec. Los usuarios que no son miembros de la función fija de servidor sysadmin ejecutan ahora los comandos en el contexto de esta cuenta sin tener que especificar opciones de configuración.
