sys.security_predicates (Transact-SQL)

Applies to: SQL Server 2016 (13.x) and later Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Returns a row for each security predicate in the database.

Column name Data type Description
object_id int ID of the security policy that contains this predicate.
security_predicate_id int Predicate ID within this security policy.
target_object_id int ID of the object on which the security predicate is bound.
predicate_definition nvarchar(max) Fully qualified name of the function that will be used as a security predicate, including the arguments. Note that the schema.function name may be normalized (i.e. escaped) as well as any other element in the text for consistency. For example:

[dbo].[fn_securitypredicate]([wing], [startTime], [endTime])
predicate_type int The type of predicate used by the security policy:

0 = FILTER PREDICATE

1 = BLOCK PREDICATE
predicate_type_desc nvarchar(60) The type of predicate used by the security policy:

FILTER

BLOCK
operation int The type of operation specified for the predicate:

NULL = all applicable operations

1 = AFTER INSERT

2 = AFTER UPDATE

3 = BEFORE UPDATE

4 = BEFORE DELETE
operation_desc nvarchar(60) The type of operation specified for the predicate:

NULL

AFTER INSERT

AFTER UPDATE

BEFORE UPDATE

BEFORE DELETE

Permissions

Principals with the ALTER ANY SECURITY POLICY permission have access to all objects in this catalog view as well as anyone with VIEW DEFINITION on the object.

See Also

Row-Level Security
sys.security_policies (Transact-SQL)
CREATE SECURITY POLICY (Transact-SQL)
Security Catalog Views (Transact-SQL)
Catalog Views (Transact-SQL)
Principals (Database Engine)