Per asegnare diritti ad tutte le stored senza wizard
generiamo le queri con questa
select 'GRANT EXEC ON [dbo].[' + SPECIFIC_NAME +'] TO username'
from information_schema.ROUTINES
where SPECIFIC_NAME not in ('sp_upgraddiagrams', 'sp_renamediagram', 'sp_helpdiagramdefinition', 'sp_helpdiagrams', 'sp_dropdiagram', 'sp_alterdiagram', 'sp_creatediagram', 'fn_diagramobjects')
AND CREATED > '20110503' --Data subito precedente al nostro ultimo update/create massivo delle nostre procedure
AND DATA_TYPE <> 'TABLE' --Elimina le 'TABLE-VALUED FUNCTION' che hanno altri diritti
order by ROUTINE_TYPE, SPECIFIC_NAME
-- RICORDARSI DI DARE I DIRITTI DI 'CONTROL' ANCHE AGLI 'USER DEFINED TABLE TYPES' E ALTRI DIRITTI AD ALTRI OGGETTI COME LE 'TABLE-VALUED FUNCTION' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
OPPURE:
-- stored
SELECT 'GRANT EXECUTE ON OBJECT::dbo.' + NAME + ' TO username;' FROM SYS.ALL_OBJECTS WHERE type='P' and is_ms_shipped = 0
order by name
-- funzioni
SELECT 'GRANT EXECUTE ON OBJECT::dbo.' + NAME + ' TO username;' FROM SYS.ALL_OBJECTS WHERE type='FN' and is_ms_shipped = 0
order by name