DECLARE cObjects CURSOR READ_ONLY FOR SELECT name, xtype FROM sysobjects LEFT OUTER JOIN syspermissions ON sysobjects.id = syspermissions.id WHERE xtype IN ('V', 'P', 'U', 'FN') AND syspermissions.id IS NULL DECLARE @ObjName varchar(255), @ObjType varchar(2) DECLARE @SQL varchar(MAX) DECLARE @User varchar(100) SELECT @User = '[DOMAIN]\[USER]' OPEN cObjects FETCH NEXT FROM cObjects INTO @ObjName, @ObjType WHILE (@@FETCH_STATUS <> -1) BEGIN IF (@@FETCH_STATUS <> -2) BEGIN --Set the access permissions IF @ObjType = 'V' -- View SELECT @SQL = 'SELECT, INSERT, DELETE, UPDATE' ELSE IF @ObjType = 'P' -- Stored Procedure SELECT @SQL = 'EXEC' ELSE IF @ObjType = 'U' -- Table SELECT @SQL = 'SELECT, INSERT, DELETE, UPDATE' ELSE IF @ObjType = 'FN' -- User Defined Function SELECT @SQL = 'EXEC' --Build the rest of the statement and execute SELECT @SQL = 'GRANT ' + @SQL + ' ON dbo.[' + @ObjName + '] TO [' + @User + ']' EXEC(@SQL) PRINT @SQL END FETCH NEXT FROM cObjects INTO @ObjName, @ObjType END CLOSE cObjects DEALLOCATE cObjects GO
Thursday, 26 August 2010
GRANT ALL Permissions on SQL Objects
Here's a quick little widget I created to GRANT ALL permissions on all SQL Server objects. It's crude and nasty, but does the trick. Quite easy to modify if need be...
No comments:
Post a Comment