Este es otro script que permite otorgar permisos de ejecución a todos los procedimientos almacenados de una base de datos para un usuario en particular.
*****************************SCRIPT*********************************************
--Otorga permisos a todos los stores procedures para un determinado usuario.
--Precondiciones: establecer el nombre de la base de datos de uso y el nombre del usuario al que se desea otorgar los permisos.
Use x
--Nombre de Usuario al que se desea otorgar permiso.
Declare @user varchar(100)
Set @user = 'User1'
--Seleccionar a todos los objetos del tipo store procedure.
declare curse cursor for
SELECT name
FROM sysobjects
WHERE type = 'P' AND category = 0
OPEN CURSE
declare @proc varchar(100)
declare @stmt nvarchar(200)
fetch next from curse into @proc
while @@fetch_status=0
begin
--ejecuta el otorgamiento de permisos.
set @stmt='grant execute on '+@proc+' to ' +@user
exec SP_EXECUTESQL @STMT
print '***El usuario: ' + @user + ' puede ejecutar al store procedure: ' + @proc + '***'
fetch next from curse into @proc
end
--desocupa el cursor.
close curse
deallocate curse
GO
**************************FIN*SCRIPT*********************************************
No hay comentarios.:
Publicar un comentario