• This seems to work:

    EXEC sys.sp_serveroption @server = N'currentname', @optname = 'name',

    @optvalue = N'newname';

    It's not documented, so if there are any caveats I'm not aware of them. But it updates the name column of sys.servers just fine, no single-user mode required.