Sometimes we need to quickly check the permissions on any database object, below script will help you to extract this information.
Method 1.
USE <DB_Name , Sysname , Database Name> Go sp_helprotect '<object name , sysname , object name>'
Note: use Ctrl-Shift-M to replace template parameters.
Though the above method displays the desired result we can not filter the result, to filter the result based on different parameters there is an alternative method as shown below.
Method 2.
USE <DB_Name , Sysname , Database Name> Go SELECT dp.NAME AS principal_name ,dp.type_desc AS principal_type_desc ,o.NAME AS object_name ,o.type_desc ,p.permission_name ,p.state_desc AS permission_state_desc FROM sys.all_objects o INNER JOIN sys.database_permissions p ON o.OBJECT_ID=p.major_id LEFT OUTER JOIN sys.database_principals dp ON p.grantee_principal_id = dp.principal_id WHERE o.NAME = '<object name , sysname ,object name>' --AND dp.name = '<principal name , sysname ,login name>'
Note: use Ctrl-Shift-M to replace template parameters.
Hope this helps…!