Summary
In this chapter, you have learned about SQL Server security. You have learned about principals and securables. When designing a database, you should carefully implement schemas. You give object and statement permissions to database users. To enhance data protection, SQL Server implements encryption in many different ways. The new SQL Server 2016 Always Encrypted feature might be extremely useful because you don't need to change existing applications (except for the connection string) to use it. You can filter the rows the users can see and modify these with the help of programmable objects or SQL Server 2016 predicate-based row level security. Finally, in SQL Server 2016, you can also mask the data with dynamic data masking for the non-privileged users.