Home Forums SQL Server 2005 Administering Transfer server roles between instances of SQL 2005 RE: Transfer server roles between instances of SQL 2005

  • Here is a non-cursor version of your sript:

    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 @tmpstr

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]