execute
public
select distinct sql = 'grant execute on [' + u.name + '].[' + o.name + '] to public' from sysobjects o inner join sysusers u on o.uid = u.uid where 1=1 and o.type in ('FN','P') and o.name not like 'dt_%' order by 1
select distinct sql = 'grant execute on [' + s.name + '].[' + o.name + '] to public' from sys.objects o inner join sys.schemas s on o.schema_id = s.schema_id where 1=1 and o.type in ('FN','P') and o.name not like 'dt_%' order by 1
declare @UserName nvarchar(128) = 'MyUser' ;with DbPermissions as ( select PermissionState = perm.state_desc ,PermissionName = perm.[permission_name] ,ObjectID = o.[object_id] ,PrincipalName = prin.name from sys.database_permissions perm inner join sys.database_principals prin on perm.grantee_principal_id = prin.principal_id inner join sys.objects o on perm.major_id = o.object_id ) select SchemaName = s.name ,ObjectName = o.name ,SqlCode = 'grant execute on [' + s.name + '].[' + o.name + '] to [' + @UserName + ']' from sys.objects o inner join sys.schemas s on o.schema_id = s.schema_id left join DbPermissions p on o.object_id = p.ObjectID and p.PermissionState = 'GRANT' and p.PermissionName = 'EXECUTE' and p.PrincipalName = @UserName where 1=1 and o.type in ('FN', 'P') and p.ObjectID is null order by s.name ,o.name
grant execute on schema::dbo to MyUserName
ScrewTurn Wiki version 3.0.1.400. Some of the icons created by FamFamFam. Except where noted, all contents Copyright © 1999-2024, Patrick Jasinski.