--- title: "sys.security_predicates (Transact-SQL) | Microsoft Docs" ms.custom: "" ms.date: "06/10/2016" ms.prod: sql ms.prod_service: "database-engine, sql-database" ms.component: "system-catalog-views" ms.reviewer: "" ms.suite: "sql" ms.technology: system-objects ms.tgt_pltfrm: "" ms.topic: "language-reference" applies_to: - "Azure SQL Database" - "SQL Server 2016 Preview" f1_keywords: - "SYS.SECURITY_PREDICATES" - "SECURITY_PREDICATES" - "SECURITY_PREDICATES_TSQL" - "SYS.SECURITY_PREDICATES_TSQL" dev_langs: - "TSQL" helpviewer_keywords: - "sys.security_predicates catalog view" - "security_predicates catalog view" ms.assetid: c7a2f28c-98da-463d-8b8a-8e5619e2c6a6 caps.latest.revision: 9 author: edmacauley ms.author: edmaca manager: craigg monikerRange: "= azuresqldb-current || >= sql-server-2016 || = sqlallproducts-allversions" --- # sys.security_predicates (Transact-SQL) [!INCLUDE[tsql-appliesto-ss2016-asdb-xxxx-xxx-md](../../includes/tsql-appliesto-ss2016-asdb-xxxx-xxx-md.md)] 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](../../relational-databases/security/row-level-security.md) [sys.security_policies (Transact-SQL)](../../relational-databases/system-catalog-views/sys-security-policies-transact-sql.md) [CREATE SECURITY POLICY (Transact-SQL)](../../t-sql/statements/create-security-policy-transact-sql.md) [Security Catalog Views (Transact-SQL)](../../relational-databases/system-catalog-views/security-catalog-views-transact-sql.md) [Catalog Views (Transact-SQL)](../../relational-databases/system-catalog-views/catalog-views-transact-sql.md) [Principals (Database Engine)](../../relational-databases/security/authentication-access/principals-database-engine.md)