Returns a report with information about user permissions for an object, or statement permissions, in the current database.
sp_helprotect [[@name =] 'object_statement']
[,[@username =] 'security_account']
[,[@grantorname =] 'grantor']
[,[@permissionarea =] 'type']
If object_statement is a statement, it can be:
0 (success) or 1 (failure)
Column name | Data type | Description |
---|---|---|
Owner | sysname | Name of the object owner. |
Object | sysname | Name of the object. |
Grantee | sysname | Name of the person granted permissions. |
Grantor | sysname | Name of the person who granted permissions to the specified grantee. |
ProtectType | char(10) | Name of the type of protection: GRANT REVOKE |
Action | varchar(20) | Name of the permission: REFERENCES SELECT INSERT DELETE UPDATE CREATE TABLE CREATE DATABASE CREATE RULE CREATE VIEW CREATE PROCEDURE EXECUTE BACKUP DATABASE CREATE DEFAULT BACKUP LOG |
Column | sysname | Type of permission: All = Permission covers all current columns of the object. New = Permission covers any new columns that might be altered (by using the ALTER statement) on the object in the future. All+New = Combination of All and New. |
All of the parameters of this procedure are optional. If executed with no parameters, sp_helprotect displays all of the permissions that have been granted or denied in the current database.
If some, but not all of the parameters are specified, use named parameters to identify the particular parameter, or NULL as a placeholder. For example, to report all permissions for the grantor dbo, execute:
EXEC sp_helprotect NULL, NULL, dbo
Or
EXEC sp_helprotect @grantorname = 'dbo'
The output report is sorted by permission category, owner, object, grantee, grantor, protection type category, protection type, action, and column sequential ID.
Execute permissions default to the public role.
This example lists the permissions for the titles table.
EXEC sp_helprotect 'titles'
This example lists all permissions that user Judy has in the current database.
EXEC sp_helprotect NULL, 'Judy'
This example lists all permissions that were granted by user Judy in the current database, using a NULL as a placeholder for the missing parameters.
EXEC sp_helprotect NULL, NULL, 'Judy'
This example lists all the statement permissions in the current database, using NULL as a placeholder for the missing parameters.
EXEC sp_helprotect NULL, NULL, NULL, 's'
GRANT | REVOKE |
DENY | System Stored Procedures |