Merhaba arkadaşlar bu yazımda sizlere sql server da yetkilerden bahsetmek istiyorum

SQL Server Role Nedir? Nasıl oluşturulur? Ne işe yarar?
SQL Server 2008 ve daha önceki sürümlerde yeni kurallar (role) atayamıyor ya da var olan görevleri değiştiremiyorduk. SQL Server 2008 sonrasında kural atama kavramı hayatımıza girmiş oldu.
Kaç Çeşit Kural (Role) vardır?
SQL Server görev kavramını 3 başlık altında toplayabiliriz;
  1. Server Role
  2. Database Role
  3. Application Role
Server Role?
bulkadmin (Bulk Insert Administrator – Çoklu Kayıt Yöneticisi) : Bulk Insert komutuna yetkisi olan
dbcreator (Database Creator – Veritabanı Yöneticisi) : Database oluşturabilme, silebilme, düzenleyebilme yetkisi olan
diskadmin (Disk Administrator – Dosya Yöneticisi) : Disk üzerinde bulunan dosyaları yönetme yetkisi olan
processadmin (Process Administrator – İşlemci Yöneticisi) : SQL Server üzerinde çalışan işlemcileri kontrol etme yetkisi olan.
public (Herkese Kısıtlı Hak) : SQL Server üzerinde  standart ayarlarla giriş yapan herkesin rolüdür. Bu kural ile tüm kullanıcıların kısıtlı hakları vardır. Daha sonra bu kullanıcılara kural değişikliği yapılarak diğer kurallar atanabilir
securityadmin (Security Administrator – Güvenlik Yöneticisi) : Server üzerinde kullanıcıların yetkilerini denetlemek, yönetmek ve şifrelerini sıfırlamak ya da istendiğinde değiştirme yetkisi olan
serveradmin (Server Administrator – Server Yöneticisi) : SQL Server üzerinde yapı ayarları, başlat/durdur/yeniden başlat gibi yetkileri olan.
setupadmin (Setup Administrator) : SQL Server üzerinde farklı bir verştabanı kullanarak işlem yapma yetkisi olan
sysadmin (System Administrator – Sistem Yöneticisi) : En yüksek yetkisi olandır. Sistem üzerinde tüm yetkilere sahiptir
Bu kurallar procedur ile nasıl yönetilebilir?
sp_helpsrvrole : Server üzerinde bulunan kural listelerini gösterir
sp_helpsrvrolemember : Server üzerinde bulunan kullanıcıların hangi kurallar tanımlandığını gösterir
sp_srvrolepermission : Kural tanımlanmış yetki listesini gösterir
sp_addsrvrolemember : Kullanıcıya kural ataması yapar örn: exec sp_addsrvrolemember @loginame=’shrcy’, @rolename=’bulkadmin’
sp_dropsrvrolemember : Kullanıcıyı verilen kuraldan çıkışını sağlar örn: exec sp_dropsrvrolemember @loginame=’shrcy’, @rolename=’bulkadmin’
 Database Role?
db_owner : Veritabanında en yüksek yetkilidir. Silme, ekleme, düzenleme, başlatma/durdurma gibi yetkileri vardır
db_accessadmin : Veritabanında kullanıcılara veritabanına erişim kural/yetki atayan yöneticidir
db_securityadmin :Veritabanındaki kural/yetkileri yönetir
db_datareader : Veritabanındaki kullanıcıların “SELECT” sorgusunu çalıştırmasına izin verir
db_datawriter : Veritabanındaki kullanıcıların “INSERT , DELETE , UPDATE sorgularını çalıştırmasına izin verir
db_ddladmin : Veritabanındaki kullanıcıların “DDL” komutlarını çalıştırmasına izin verir
db_denydatareader : Veritabanındaki kullanıcıların “SELECT” sorgusunu çalıştırmasını kısıtlar
db_denydatawriter : Veritabanındaki kullanıcıların “INSERT , DELETE , UPDATE sorgularını çalıştırmasını kısıtlar
db_backupoperator : Veritabanının yedeğini alma kuralı
Bu kurallar precedure ile nasıl yönetilebilir?
sp_helprole : Server üzerinde bulunan kural listelerini ve Application Role gösterir.
sp_addrolemember : Kullanıcıya kural ataması yapar örn: exec sp_addrolemember @membername=’shrcy’, @rolename=’bulkadmin’
sp_droprolemember : Kullanıcıyı verilen kuraldan çıkışını sağlar örn: exec sp_addrolemember @membername=’shrcy’, @rolename=’bulkadmin’
sp_helpdbfixedrole : Sorgunun yapıldığı veritabanında tanımlanmış bütün kuralları/yetkileri listeler
sp_dbfixedrolepermission : Kurallara tanımlanan yetkileri listeler
Application Role?
Eğer “guest” hesabı oluşturursanız veritabanında, database için tek tek kullanıcı hesabı açıp tanımlamanıza gerek kalmaz. Bunu da aşağıdaki iki procedure komutu ile kullanılabilir ya da kullanılamaz olarak ayarlayabilirsiniz.
sp_setapprole : Kullanılabilir
sp_unsetapprole : Kullanılamaz
Bu yazı BURADAN  alınmıştır. 
Ramazan CESUR