Sei in: Home : Competenze : SQL : Microsoft SQL

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