• Cool, that's fixed the syntax error but not the permissions error:

    CREATE LOGIN [test1] WITH PASSWORD = N'wibble',DEFAULT_DATABASE=[Master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;

    Msg 15247, Level 16, State 1, Line 1

    User does not have permission to perform this action.

    CREATE USER [test1] FOR LOGIN [test1];

    Msg 15007, Level 16, State 1, Line 1

    'test1' is not a valid login or you do not have permission.

    EXEC sp_addrolemember N'VFF_Permissions', N'test1';

    Msg 15410, Level 11, State 1, Procedure sp_addrolemember, Line 75

    User or role 'test1' does not exist in this database.

    This is despite creating the sysadmin superuser using the previous script, do I need explicit grant permission on the SP itself?