Einleitung
Row-Level security (RLS) erlaubt es den Entwicklern Kontrolle über die Informationen zeilenweise gefiltert werden.
Das Konzept der RLS besteht aus 3 Teilen:
- Predicate Function – hierbei handelt es sich um eine Schema Funktion über die gesteuert wird, was der User sehen darf oder nicht
 - Security Predicate – Über ein Security Predicate wird die Predicate Function an die Tabelle gebunden. Es gibt 2 Arten von Security Predicates:
- Filter Predicate – hierbei wird die Lese (Read) Operation (Select) limitiert. Die Filterung erfolgt ohne Einträge in den Eventlog.
 - Block Predicate – hierbei werden die Schreibzugriffe (INSERT) limitiert. Dabei wird zwischen 4 Typen von Block Predicates unterschieden:
- AFTER INSERT
 - BEFORE UPDATE
 - AFTER UPDATE
 - BEFORE DELETE
 
 
 - Security Policy – dabei handelt es sich um eine Sammlung von Securite Predicates in ein einzelnes neues Projekt.
 
Download
Links:
- Row-Level Security
 - Aveeks Das – Introduction to Row-Level Security in SQL Server
 - Pradeep Raturi – Row Level Security in SQL Server
 - Jeff Melnick – How to Implement Row and Column Level Security in SQL Server
 - Manoj – Implementing “Row Level Security” (RLS) with “Filter Predicate” in SQL Server 2016 – Part 1 | Part 2
 - SQL-Server-Team – Row-Level Security: Performance and common patters
 - Tommy Mullaney – New Row-Level Security functionality: Block predicates
 - Basavaraj Biradar – Row level security in Sql Server 2016
 






