I, too, don't have a problem with a cursor per se here; it could be done w/o one, but it's not a big deal for such a limited number of rows.
You should get away from "sysusers", which is also obsolete, but again that's not a killer issue either.
But, the cursor should be optimized with FAST_FORWARD:
...
declare updateServerroles cursor fast_foward for SELECT name FROM sysusers where name = 'TEST\user'
...
Edit: Corrected typo.
SQL DBA,SQL Server MVP(07, 08, 09) "It's a dog-eat-dog world, and I'm wearing Milk-Bone underwear." "Norm", on "Cheers". Also from "Cheers", from "Carla": "You need to know 3 things about Tortelli men: Tortelli men draw women like flies; Tortelli men treat women like flies; Tortelli men's brains are in their flies".