Custom database roles is the best way to manage object permission for the given database in structured way. Following script will demonstrate the steps necessary to create a new role and manage object permissions through it
--- Step 1 -------- Create Role ------------ USE [MyTestDB] GO CREATE ROLE [TestRole1] AUTHORIZATION [dbo] Go --- Step 2 -------- Assign Permissions to role ------------ USE [MyTestDB] GO GRANT ALTER,EXECUTE, SELECT,INSERT,UPDATE,DELETE ON SCHEMA ::dbo TO TestRole1 Go USE [MyTestDB] GO GRANT BACKUP DATABASE,BACKUP LOG To [TestRole1] Go --- Step 3 ---- Add user to our role -------------- USE [MyTestDB] GO EXEC sp_addrolemember N'TestRole1', N'SPUser7' GO -- ****** Create user ********************* --- Step 1 ---- Create Windows Login For SQL Server ------------ USE [master] GO CREATE LOGIN [TestDomain\SPUser7] FROM WINDOWS WITH DEFAULT_DATABASE=[MyTestDB] GO --- Step 2 ---- Create Database User for our database -------------- USE [MyTestDB] GO CREATE USER [SPUser7] FOR LOGIN [TestDomain\SPUser7] GO