HiveBrain v1.2.0
Get Started
← Back to all entries
debugsqlMinor

Why public is not mentioned as a fixed role in system database in SQL Server?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
whyserverpublicmentionedsystemsqlroledatabasefixednot

Problem

While running

select * from sys.server_principals


for public role, in the column is_fixed_role is shown 0

But the documentation states that it is a fixed server role.

Documentation Link

Although it is stated that public is a little bit different from other roles because we can assign permissions to it. Anyway it is mentioned as a fixed role.

Can anyone explain this dilemma?

Solution

Public is just an odd duck.

But to apply some retroactive continuity to the documentation you might say that all these built in roles are "fixed" or unchangeable in ways that normal roles are not. The roles marked as is_fixed_role have fixed permissions and changeable membership. Public has fixed membership (everyone) and changeable permissions.

The column in sys.server_principals and sys.database_principals should be documented to clarify this.

Context

StackExchange Database Administrators Q#216417, answer score: 7

Revisions (0)

No revisions yet.