sql >> Base de Datos >  >> RDS >> Sqlserver

Obtener permiso de ejecución para xp_cmdshell

Para los usuarios que no son miembros del rol de administrador del sistema en la instancia de SQL Server, debe realizar las siguientes acciones para otorgar acceso al procedimiento almacenado extendido xp_cmdshell. Además, si olvidó uno de los pasos que he enumerado, aparecerá el error.

  1. Habilite el procedimiento xp_cmdshell

    Mensaje 15281, nivel 16, estado 1, procedimiento xp_cmdshell, línea 1SQL Server bloqueó el acceso al procedimiento 'sys.xp_cmdshell' del componente 'xp_cmdshell' porque este componente está desactivado como parte de la configuración de seguridad de este servidor. Un administrador del sistema puede habilitar el uso de 'xp_cmdshell' mediante sp_configure. Para obtener más información sobre cómo habilitar 'xp_cmdshell', consulte "Configuración del área de superficie" en los libros en línea de SQL Server.*

  2. Cree un inicio de sesión para el usuario que no sea administrador del sistema y que tenga acceso público a la base de datos maestra

    Mensaje 229, Nivel 14, Estado 5, Procedimiento xp_cmdshell, Línea 1 Se denegó el permiso de EJECUTAR en el objeto 'xp_cmdshell', base de datos 'mssqlsystemresource', esquema 'sys'.*

  3. Otorgar permiso EXEC en el procedimiento almacenado xp_cmdshell

    Mensaje 229, Nivel 14, Estado 5, Procedimiento xp_cmdshell, Línea 1 Se denegó el permiso de EJECUTAR en el objeto 'xp_cmdshell', base de datos 'mssqlsystemresource', esquema 'sys'.*

  4. Cree una cuenta de proxy en la que se ejecutará xp_cmdshell usando sp_xp_cmdshell_proxy_account

    Mensaje 15153, Nivel 16, Estado 1, Procedimiento xp_cmdshell, Línea 1 La información de la cuenta del proxy xp_cmdshell no se puede recuperar o no es válida. Verifique que la credencial '##xp_cmdshell_proxy_account##' exista y contenga información válida.*

Parecería por su error que se omitió el paso 2 o 3. No estoy familiarizado con los clústeres para saber si hay algo particular en esa configuración.