sys.fn_translate_permissions (Transact-SQL)

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Translates the permissions bitmask returned by SQL Trace into a table of permissions names.

||
|-|
|Applies to: SQL Server ( SQL Server 2008 through current version).|

Topic link icon Transact-SQL Syntax Conventions

Syntax


sys.fn_translate_permissions ( level , perms )  

Arguments

level
Is the kind of securable to which the permission is applied. level is nvarchar(60).

perms
Is a bitmask that is returned in the permissions column. perms is varbinary(16).

Returns

table

Remarks

The value returned in the permissions column of a SQL Trace is an integer representation of a bitmask used by SQL Server to calculate effective permissions. Each of the 25 kinds of securables has its own set of permissions with corresponding numerical values. sys.fn_translate_permissions translates this bitmask into a table of permissions names.

Permissions

Requires membership in the public role.

Example

The following query uses sys.fn_builtin_permissions to display the permissions that apply to certificates, and then uses sys.fn_translate_permissions to return the results of the permissions bitmask.

SELECT * FROM sys.fn_builtin_permissions('CERTIFICATE');  
SELECT '0001' AS Input, * FROM sys.fn_translate_permissions('CERTIFICATE', 0001);  
SELECT '0010' AS Input, * FROM sys.fn_translate_permissions('CERTIFICATE', 0010);  
SELECT '0011' AS Input, * FROM sys.fn_translate_permissions('CERTIFICATE', 0011);  

See Also

Permissions (Database Engine)
sys.server_permissions (Transact-SQL)
sys.database_permissions (Transact-SQL)