Skip to content

Instantly share code, notes, and snippets.

@marcosfreccia
Created June 24, 2018 13:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marcosfreccia/2d12e4e550aaf748c03b93518b089929 to your computer and use it in GitHub Desktop.
Save marcosfreccia/2d12e4e550aaf748c03b93518b089929 to your computer and use it in GitHub Desktop.
USE master
GO
DECLARE @RoleName VARCHAR(50) = 'RSExecRole';
DECLARE @Script VARCHAR(MAX) = 'USE master;';
SELECT @Script = @Script + 'CREATE ROLE ' + @RoleName + CHAR(13);
SELECT @Script
= @Script + 'GRANT ' + prm.permission_name + ' ON ' + +QUOTENAME(OBJECT_SCHEMA_NAME(major_id)) + '.'
+ QUOTENAME(OBJECT_NAME(major_id)) + ' TO ' + rol.name + CHAR(13) COLLATE Latin1_General_CI_AS
FROM sys.database_permissions prm
JOIN sys.database_principals rol
ON prm.grantee_principal_id = rol.principal_id
WHERE rol.name = @RoleName;
PRINT @Script;
GO
USE msdb;
GO
DECLARE @RoleName VARCHAR(50) = 'RSExecRole';
DECLARE @Script VARCHAR(MAX) = 'USE msdb;';
SELECT @Script = @Script + 'CREATE ROLE ' + @RoleName + CHAR(13);
SELECT @Script
= @Script + 'GRANT ' + prm.permission_name + ' ON ' + +QUOTENAME(OBJECT_SCHEMA_NAME(major_id)) + '.'
+ QUOTENAME(OBJECT_NAME(major_id)) + ' TO ' + rol.name + CHAR(13) COLLATE Latin1_General_CI_AS
FROM sys.database_permissions prm
JOIN sys.database_principals rol
ON prm.grantee_principal_id = rol.principal_id
WHERE rol.name = @RoleName;
PRINT @Script;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment