In SQL Azure my understanding of db_datareader is that it is allowed to SELECT all user tables.
I couldn’t find a definition of exactly what a user table is, but I assumed it was all of the non-builtin tables and views, and excluded all the views and tables that are in the sys
schema.
Why then can members run the following statements?
SELECT TOP (5) * FROM [sys].tables SELECT TOP (5) * FROM [sys].[all_views]; SELECT * FROM sys.dm_exec_sessions; SELECT TOP (5) * FROM [sys].objects
… and more