Microsoft SQL Server’da roller (roles), kullanıcıların belirli izinlere sahip olmasını sağlayan mantıksal gruplardır. SQL Server’da üç ana rol türü bulunur. Bu rollerden biri olan Application Roles yapısına değinelim.
Bir uygulamanın, login bazlı kimlik doğrulama yerine kendine özgü izinlerle veritabanına erişmesini sağlamak için kullanılan roller. Application role veritabanı seviyesinde tanımlanan bir role’dür database bazlı çalışır.
Application Rolleri kullanarak bir veritabanına sadece belirli bir uygulamadan belirli kullanıcılarla erişmek için kullanabilirsiniz.


USE [PARTITIONTEST]
GO
CREATE APPLICATION ROLE [TEST23] WITH DEFAULT_SCHEMA = [dbo], PASSWORD = N'1'
GO
USE [PARTITIONTEST]
GO
ALTER AUTHORIZATION ON SCHEMA::[db_datareader] TO [TEST23]
GO
Application Role’lerin database rolleri gibi üyeleri olmaz. Uygulama üzerinden sp_setapprole stored procedure’ü ile aşağıdaki gibi aktif edilebilirler.
EXEC sp_setapprole 'TEST23', '1';
Application Role’lerin en önemli özelliği herhangi bir login’e bağlı olmadıkları için veritabanının başka bir instance’a taşınma işlemi daha kolay olacaktır.
SQL Server 2005 ile beraber Application Role’lerin yerine SQL User Without Login kavramı geldi.
User’ların kendi şifresini değiştirme yetkisi veriyoruz.
Başka bir makalede görüşmek dileğiyle..
“Müslüman, insanların elinden ve dilinden emin olduğu kimsedir.” (Tirmizî)