SQL 2012. Securityadmin to czasami za mało…

27-Lut-2015

Podczas nadawania uprawnień na bazie SQL 2012 użytkownik z roli serwerowej securityadmin otrzymuje komunikat:

Msg 15151, Level 16, State 1, Line 1

Cannot alter the role ‚db_datareader’, because it does not exist or you do not have permission.

No jak to! Przecież jest w security admin czyli „ma prawo nadawać uprawnienia” i jednocześnie db_datareader istnieje!

Cóż poczytajmy dokumentację:

dla SQL 2008 R2 (https://msdn.microsoft.com/en-us/library/ms189775(v=sql.105).aspx):

w sekcji opisującej uprawnienia wymagane do przypisywania użytkowników do ról za pomocą ALTER ROLE ADD MEMBER:

Requires ALTER ANY ROLE permission on the database, or ALTER permission on the role, or membership in the db_securityadmin.

a lsa SQL 2012 ten sam fragment (https://msdn.microsoft.com/en-us/library/ms189775(v=sql.110).aspx)

Requires ALTER ANY ROLE permission on the database, or ALTER permission on the role, or membership in the db_securityadmin. Adding members to fixed database roles requires membership in the db_ownerfixed database role.

I co? Wygląda, że osoby nadające uprawnienia będą same potrzebowały większych uprawnień…

Dodaj komentarz:

Autor: Rafał Kraik