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'