Özelleştirilmiş veri tabanı rolleri sayesinde kullanıclara istediğimiz gibi özelleştirebildiğimiz rolleri atamamızı sağlar bu sayede özel bir rol tanımlayıp istediğimiz sayıda kullanıcıya bu rolleri atayabiliriz. Bunları yapmak bize hız ve veritabanımızı da daha kolay yönetmemizi sağlamaktadır. Aşağıda yeni bir rol tanımlayıp bu role kendi seçimimiz olan rolleri verip kullanıcımıza da bu rolleri atamktayız. Scriptte kullandığım sp_addrolemember prosedürü sql server'a ait bir prosedür olup bu rolleri kullanıcının rolü haline getirmemizi sağlamaktadır.

 

Bu adımda AdventureWorks database'i üstünde rol yaratmaktayız;

USEAdventureWorks

GO

CREATE ROLE [TestRol_1] AUTHORIZATION[dbo]

Go

 

Burada tanımladığımız rol'e izinlerimizi veriyoruz.

USE AdventureWorks

GO

GRANT ALTER,EXECUTE, SELECT,INSERT,UPDATE,DELETE

ON SCHEMA ::dbo

TO TestRol_1

Go

 

USEAdventureWorks

GO

GRANT BACKUP DATABASE,BACKUP LOG To [TestRol_1]

Go

 

SQL Server'ın ken içinde barındırdığı sp_addrolemember prosedürü ile rolümüze kullanıcı eklemekteyiz.

USEAdventureWorks

GO

EXEC sp_addrolememberN'TestRol_1', N'USER_ISMI'

GO

 

Bu adımda rolünü tanımladığımız kullanıcı için Windows Login hakkı vermekteyiz varsayılan veritabanı olaraksa AdventureWork veritabanını kullanmaktayız.

USEAdventureWorks

GO

CREATE LOGIN [DenemeDomain\USER_ISMI] FROM WINDOWS WITH DEFAULT_DATABASE=AdventureWorks

GO

 

Bu adımda veri tabanı için kullanıcımızı tanımlamaktayız.

USEAdventureWorks

GO

CREATE USER [USER_ISMI] FORLOGIN [DenemeDomain\USER_ISMI]

GO

 

Kaynak: Namwar Rizvi