I found this a while back:SELECT PER.class_desc AS PermClass ,PER.[type] AS PermType ,ISNULL(SCH.name + N'.' + OBJ.name,DB_NAME()) AS ObjectName ,ISNULL(COL.Name, N'') AS ColumnName ,PRC.name AS PrincName ,PRC.type_desc AS PrincType ,GRT.name AS GrantorName ,PER.permission_name AS PermName ,PER.state_desc AS PermState FROM sys.database_permissions PER INNER JOIN sys.database_principals PRC ON PER.grantee_principal_id = PRC.principal_id INNER JOIN sys.database_principals GRT ON PER.grantor_principal_id = GRT.principal_id LEFT JOIN sys.objects OBJ ON PER.major_id = OBJ.object_id LEFT JOIN sys.schemas SCH ON OBJ.schema_id = SCH.schema_id LEFT JOIN sys.columns COL ON PER.major_id = COL.object_id AND PER.minor_id = COL.column_idWHERE PER.major_id >= 0ORDER BY PermClass ,ObjectName ,PrincName ,PermType ,PermName;
djj