How to Generate Grant Permission Script to User on Database Objects
Script :Grant Permisison on User Object to User (Read Only Permission)
The will help to generate Grant Select,Execute & View permission to user on dataabse objects.We use this script when we have to give read only permission to users on prodcution databases.
—Select Permisison on User Table— DECLARE @login varchar(50)
SET @login = ‘DBARoles’ DECLARE @tables TABLE(ROWID int IDENTITY(1,1), SQLSTR varchar(500)) INSERT INTO @tables SELECT ‘GRANT SELECT ON OBJECT :: ‘ + sc.name +’.’ + so.NAME + ‘ TO ‘+@login FROM sys.objects so INNER JOIN sys.schemas sc ON so.schema_id= sc.schema_id WHERE TYPE = ‘U’ AND so.NAME NOT LIKE ‘SYNC%’ SELECT * FROM @tables —Execute Permission on User Stored Procedure—- GO DECLARE @login varchar(50) SET @login = ‘DBARoles’ DECLARE @tables TABLE(ROWID int IDENTITY(1,1), SQLSTR varchar(500)) INSERT INTO @tables SELECT ‘GRANT EXECUTE ON OBJECT :: ‘ + sc.name +’.’ + so.NAME + ‘ TO ‘+@login FROM sys.objects so INNER JOIN sys.schemas sc ON so.schema_id= sc.schema_id WHERE TYPE = ‘P’ AND so.NAME NOT LIKE ‘SYNC%’ SELECT * FROM @tables —Select Permission on User View—– GO DECLARE @login varchar(50) SET @login = ‘DBARoles’ DECLARE @tables TABLE(ROWID int IDENTITY(1,1), SQLSTR varchar(500)) INSERT INTO @tables SELECT ‘GRANT SELECT ON OBJECT :: ‘ + sc.name +’.’ + so.NAME + ‘ TO ‘+@login FROM sys.objects so INNER JOIN sys.schemas sc ON so.schema_id= sc.schema_id WHERE TYPE = ‘V’ AND so.NAME NOT LIKE ‘SYNC%’ SELECT * FROM @tables —Select Permission on User Function (Table-Valued-Function)—- GO DECLARE @login varchar(50) SET @login = ‘DBARoles’ DECLARE @tables TABLE(ROWID int IDENTITY(1,1), SQLSTR varchar(500)) INSERT INTO @tables SELECT ‘GRANT SELECT ON OBJECT :: ‘ + sc.name +’.’ + so.NAME + ‘ TO ‘+@login FROM sys.objects so INNER JOIN sys.schemas sc ON so.schema_id= sc.schema_id WHERE TYPE IN (‘TF’) AND so.NAME NOT LIKE ‘SYNC%’ SELECT * FROM @tables —Select Permission on User Function (Scalar-Valued-Function)—- GO DECLARE @login varchar(50) SET @login = ‘DBARoles’ DECLARE @tables TABLE(ROWID int IDENTITY(1,1), SQLSTR varchar(500)) INSERT INTO @tables SELECT ‘GRANT EXECUTE ON OBJECT :: ‘ + sc.name +’.’ + so.NAME + ‘ TO ‘+@login FROM sys.objects so INNER JOIN sys.schemas sc ON so.schema_id= sc.schema_id WHERE TYPE IN (‘FN’) –AND so.NAME NOT LIKE ‘SYNC%’ SELECT * FROM @tables —Grant View Defination on User Types— GO DECLARE @login varchar(50) SET @login = ‘DBARoles’ DECLARE @tables TABLE(ROWID int IDENTITY(1,1), SQLSTR varchar(500)) INSERT INTO @tables SELECT ‘GRANT VIEW DEFINITION ON TYPE :: ‘ + ‘dbo’ +’.’ + st.NAME + ‘ TO ‘+@login FROM sys.types st where st.schema_id=1 SELECT * FROM @tables |
Mohd Sufian
Blog Archives
- September 2015 (8)
- August 2015 (3)
- July 2015 (3)
- June 2015 (18)
- May 2015 (4)
- March 2015 (28)
- February 2015 (8)
- January 2015 (7)
- December 2014 (6)
- November 2014 (14)
- December 2012 (3)
- November 2012 (4)
- November 2011 (4)
- October 2011 (1)
- September 2011 (1)
- August 2011 (2)
- July 2011 (4)
- June 2011 (5)
- May 2011 (2)
- April 2011 (1)
- March 2011 (3)
- February 2011 (5)
- January 2011 (5)
- December 2010 (5)
- November 2010 (2)
- October 2010 (2)
- September 2010 (2)
- August 2010 (3)
- June 2010 (3)
- May 2010 (3)
- April 2010 (9)
- March 2010 (2)
- December 2009 (2)
- July 2009 (1)
- June 2009 (2)
- May 2009 (4)
- September 2008 (1)
- August 2008 (1)
- July 2008 (1)
- June 2008 (3)
Blog Categories
- AlwaysOn 2012 (6)
- Amazon Web Services (AWS) (2)
- Backup (2)
- BufferPool (1)
- Central Management Server (1)
- Database Mirroring (3)
- Database Properties (1)
- DBCC (1)
- Debug (3)
- Distributed Replay (6)
- F-SQL Server Engine (1)
- F-Transact-SQL (1)
- File Table (2)
- IIS (1)
- In-MemoryOLTP (15)
- Maintenance (1)
- Memory (1)
- Monitor CPU (3)
- CPU (2)
- Multi Server Administration (1)
- PowerShell (6)
- Recovery (2)
- S3 Storage (2)
- SQL Databases (5)
- SQL Installation (1)
- SQL Profiling Server Side (1)
- SQL Scripts (13)
- SQL Server 2005 DataFiles Work around (1)
- SQL Server 2008 Installation (2)
- SQL Server 2008 Partitioning (3)
- SQL Server Agent (1)
- Jobs (1)
- SQL Server Database Backup (1)
- SQL Server Encryption (1)
- SQL Server Installation (1)
- SQL Server Internals (8)
- SQL Server PowerShell Scripts (2)
- SQL Server Replication (12)
- SQL Server Security (6)
- Login Issues (1)
- Login Issues –Part 2 (1)
- SQL Server Upgrade (1)
- SQLServer 2005 Partitioning (3)
- SQLServer 2016 (1)
- SQLServer2008 (9)
- SSIS (Integration Service) (1)
- Storage (9)
- T-SQL-Scripts (12)
- Uncategorized (19)
- Windows & SQL Server AZURE (8)
- Windows Cluster (4)
M | T | W | T | F | S | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Blog Stats
- 232,993 visitors