by Volkan Atasever
22. Ekim 2009 03:27
Ö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_addrolemember N'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
25d8a518-75c1-477b-9c94-89ecc0e2e9d7|1|5.0
Tags: role, role member, sql user, database, sql server, sql server 2008, sql server 2005, veritabanı, sp_addrolemember, create user, create login, adventureworks
SQL Server