Kullanıcı Tanımlı Veritabanı Rolünün Yetkileri

30 Oca by HAKAN GÜRBAŞLAR

Kullanıcı Tanımlı Veritabanı Rolünün Yetkileri

Veritabanında kullanıcı tanımlı rol oluşturmayı Veritabanı Seviyesinde Rol Oluşturmak isimli makalede görmüştük. Peki bu oluşturduğumuz rolün yetkileri veya üye olduğu diğer roller neler?

Bir önceki makalede oluşturduğum RoleKullanici rolüne, sahip olduğu yetkiler dışında db_backupoperator rolüne üyelik de verelim. Bunun için Veritabanında Security menüsü altında Roles alt menüsünden db_ backupoperator’ı sağ tıklayıp properties seçeneğini tıklayalım. Karşımıza aşağıdaki ekran gelecektir.

Add butonuna bastığımızda bu role üye yapmak istediğimiz rolün adını yazalım. OK butonuna basalım.

Tekrar properties ekranı geldiğinde Role Members alanında tanımladığımız rolün geldiğini görüyoruz. Yine OK butonuna basarak işlemi tamamlayalım.

Şu an rolümüz hem veritabanı seviyesinde izinlere sahip hem de veritabanı rollerine üye. Peki, tam olarak hangi yetkilere sahip? Bunun için aşağıdaki sorguyu ilgili veritabanında çalıştıralım.

SELECT dp.name AS Rol_Adi,per.permission_name COLLATE Turkish_CI_AS AS Izin_Adi,per.state_desc AS Yetki_Durumu
FROM sys.database_permissions per
INNER JOIN sys.database_principals dp ON per.grantee_principal_id=dp.principal_id
WHERE dp.type='R' -- dp.type yerine dp.type_desc='DATABASE_ROLE' ifadesi de yazılabilir.
AND dp.name <> 'public'

UNION

SELECT dp.name, dp2.name COLLATE Turkish_CI_AS,'MEMBER' 
FROM sys.database_role_members drm
INNER JOIN sys.database_principals dp ON dp.principal_id=drm.member_principal_id
INNER JOIN sys.database_principals dp2 ON dp2.principal_id=drm.role_principal_id
WHERE dp.type='R'
AND dp.name <> 'public'

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir