Saturday, August 09, 2008

Permitiendo la administración de los jobs a usuarios que no son System Administrators en SQL Server Agent 2005 o superior

Antes de que llegara el Microsoft SQL Server 2005 al mercado, si usted deseaba que alguien tuviera acceso a ver, modificar, crear y ejecutar los SQL Server Agent Jobs, necesitaba darle permisos de Systems Administrator al login deseado de SQL Server, con el inconveniente que de también le iba a permitir hacer lo que deseara en esa instancia.

A partir del SQL Server 2005, se incluyeron los siguientes 3 roles:

SQLAgentUserRole: Los usuarios pueden crear jobs y manejar solo los jobs que ellos han creado.
SQLAgentReaderRole: Van a tener los privilegios del rol SQLAgentUserRole junto con la habilidad de enumerar y ver el historial de todos los jobs.
SQLAgentOperatorRole: Van a tener los mismos privilegios del rol SQLAgentReaderRole junto con la habilidad de ejecutar jobs locales de los cuales ellos no son dueños.

El procedimiento para asignarle permisos a un login en alguno de esos roles es el siguiente:

1. Agregue el usuario deseado a la base de datos "msdb":

USE [msdb]

GO

CREATE USER [MyUser] FOR LOGIN [MyUser]

GO

2. Asigne el rol deseado al usuario:

USE [msdb]

GO

EXEC sp_addrolemember 'SQLAgentUserRole', 'MyUser'

GO

 

Aporte de Hector Bejarano - http://citicr.org

1 comment:

Anonymous said...
This comment has been removed by a blog administrator.

PASS Marathon Spanish Edition Azure SQL Datawarehouse

Este 21 de febrero estaré participando como conferencista en el PASS Marathon Spanish Edition, el registro al evento está en el siguiente en...