Skip to content

Instantly share code, notes, and snippets.

@rheid
Created September 2, 2014 18:04
Show Gist options
  • Save rheid/af9d2378e579d0c01a1a to your computer and use it in GitHub Desktop.
Save rheid/af9d2378e579d0c01a1a to your computer and use it in GitHub Desktop.
Read all SQL ServerRolls
Declare @Prefix varchar(255)
Declare @tmpstr varchar(MAX)
Set @Prefix = '
exec master.dbo.sp_addsrvrolemember @loginame='''
Set @tmpstr=''
Select @tmpstr = @tmpstr
+ Case When sysadmin = 1 Then @Prefix + [LoginName] + ''', @rolename=''sysadmin''' Else '' End
+ Case When securityadmin = 1 Then @Prefix + [LoginName] + ''', @rolename=''securityadmin''' Else '' End
+ Case When serveradmin = 1 Then @Prefix + [LoginName] + ''', @rolename=''serveradmin''' Else '' End
+ Case When setupadmin = 1 Then @Prefix + [LoginName] + ''', @rolename=''setupadmin''' Else '' End
+ Case When processadmin = 1 Then @Prefix + [LoginName] + ''', @rolename=''processadmin''' Else '' End
+ Case When diskadmin = 1 Then @Prefix + [LoginName] + ''', @rolename=''diskadmin''' Else '' End
+ Case When dbcreator = 1 Then @Prefix + [LoginName] + ''', @rolename=''dbcreator''' Else '' End
+ Case When bulkadmin = 1 Then @Prefix + [LoginName] + ''', @rolename=''bulkadmin''' Else '' End
From (select convert(varchar(100),suser_sname(sid)) as [LoginName],
sysadmin,
securityadmin,
serveradmin,
setupadmin,
processadmin,
diskadmin,
dbcreator,
bulkadmin
from sys.syslogins
where sysadmin<>0
or securityadmin<>0
or serveradmin<>0
or setupadmin <>0
or processadmin <>0
or diskadmin<>0
or dbcreator<>0
or bulkadmin<>0) L
Print @tmpst
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment