June 11, 2010

Determine Permission for all Users at Object Level

I was looking out to determine Permissions for all Users at an Object Level in a database. Here’s the query to do so:

SELECT
sysU.name, sysO.name, permission_name ,
granted_by = suser_name(grantor_principal_id)
FROM sys.database_permissions
JOIN sys.sysusers sysU on grantee_principal_id = uid
JOIN sys.sysobjects sysO on major_id = id
order by sysU.name

OUTPUT

image

If anyone knows a better way, I would love to hear it!


About The Author

Suprotim Agarwal, ASP.NET Architecture MVP works as an Architect Consultant and provides consultancy on how to design and develop Web applications.

Suprotim is also the founder and primary contributor to DevCurry, DotNetCurry and SQLServerCurry. He has also written an EBook 51 Recipes using jQuery with ASP.NET Controls.

Follow him on twitter @suprotimagarwal

No comments: