SQL Server Reporting Services - SSrS: Error "No tiene permiso para ejecutar la instrucción RECONFIGURE. La opción de configuración '

 
Vista:
sin imagen de perfil

SSrS: Error "No tiene permiso para ejecutar la instrucción RECONFIGURE. La opción de configuración '

Publicado por Dor LT (3 intervenciones) el 21/07/2021 19:46:52
Buenas,

Tengo un report (Ssrs SQL Server 2017) que obtiene los datos de un procedimiento el cual lee ficheros de texto del una carpeta del servidor, para ello activo opciones avanzadas de SQL Server mediante instrucciones de shell del tipo:

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;

EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;

EXEC MASTER..xp_cmdshell 'dir C:\VENTAS\PEDIDOS_*.CSV /B'

Al ejecutarlo, obtengo el error.

Error al procesar el informe. (rsProcessingAborted)
Error de ejecución de consulta para el conjunto de datos 'XXXXXX'. (rsErrorExecutingCommand)
No tiene permiso para realizar esta acción. No tiene permiso para ejecutar la instrucción RECONFIGURE. La opción de configuración 'xp_cmdshell' no existe o se trata de una opción avanzada.
No tiene permiso para ejecutar la instrucción RECONFIGURE. Se denegó el permiso EXECUTE en el objeto "xp_cmdshell', base de datos 'mssqlsystemresource', esquema 'sys'.

No tiene permiso para realizar esta acción.
No tiene permiso para ejecutar la instrucción RECONFIGURE.

Al usuario que ejecutar el report ya le ha dado permisos sobre el esquema y la base de datos de ejecución.

Por favor, ¿alguien podría aydarme con ést error?

Muchas gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vega
Val: 7
Ha mantenido su posición en SQL Server Reporting Services (en relación al último mes)
Gráfica de SQL Server Reporting Services

SSrS: Error "No tiene permiso para ejecutar la instrucción RECONFIGURE. La opción de configuración '

Publicado por Vega (5 intervenciones) el 22/07/2021 09:09:04
Hola Dor LT,
La raíz de tu problema está en que la cuenta que estás usando no tiene permiso para ejecutar xp_cmdshell. Es un procedimiento de sistema (master) lo cual implica que necesitas asignar permisos fuera del contexto de la BD de tu aplicación.
Es un procedimiento muy peligroso ya que expone tu servidor a muchos tipos de vulnerabilidad. A menos que des acceso explicito o estés configurado como administrador, por lo general y defecto, no se le dá acceso a un usuario.

Dependiendo de cómo esté connectándose tu informe ssrs al servidor - cuenta de usuario connectado, or por credenciales pre-establecidas en la conexión una vez publicado el informe al servidor - puedes intentar usar una cuenta proxy para solucionar tu problema.

comprueba este link primero.


https://docs.microsoft.com/es-es/sql/relational-databases/system-stored-procedures/sp-xp-cmdshell-proxy-account-transact-sql?view=sql-server-ver15
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

SSrS: Error "No tiene permiso para ejecutar la instrucción RECONFIGURE. La opción de configuración '

Publicado por Dor LT (3 intervenciones) el 22/07/2021 13:02:43
Hola Vega,

Muchas gracias por responder.

Los reports se conectan al servidor mediante una cuenta específica qye ejecuta tosdos los reports.

Por lo que he leído sobre la cuenta proxy (corrígeme si estoy equivocado, no he utilizado nunca esta opción), es una especia de cuenta temporal que se crea en el momento de la ejecución del report y a la que se le asignan los permisos necesarios y que desaparece una vez finalizado el report, no?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vega
Val: 7
Ha mantenido su posición en SQL Server Reporting Services (en relación al último mes)
Gráfica de SQL Server Reporting Services

SSrS: Error "No tiene permiso para ejecutar la instrucción RECONFIGURE. La opción de configuración '

Publicado por Vega (5 intervenciones) el 23/07/2021 08:25:59
Si así es, es una manera de cambiar el contexto de ejecution para no tener que tirar de una cuenta administrativa.
Tu procedimiento almacendado necesitará ser declarado con algo así:

1
2
3
4
create procedure ##MiProc##
with execute as ##MiCuentaProxy##
as
 {codigo de tu p.a.}

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

SSrS: Error "No tiene permiso para ejecutar la instrucción RECONFIGURE. La opción de configuración '

Publicado por Dor (3 intervenciones) el 23/07/2021 16:22:14
Muchas gracias por la información Vega!

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar