How to create a SQL Server user that can restore databases to a database server? I want to create a new user that can create new databases on my database server.

I've tried:

CREATE LOGIN [my_db_restore_user] WITH PASSWORD = 'passwordhere';
GRANT ALTER ON ROLE::[dbcreator] TO [my_db_restore_user] WITH GRANT OPTION


Which results in: Cannot find the object 'dbcreator', because it does not exist or you do not have permission.

I've also tried:

ALTER SERVER ROLE [dbcreator] ADD MEMBER [my_db_restore_user];


GRANT ALTER ON SERVER ROLE::dbcreator TO my_db_restore_user ; 


but all result in the same error.

How can I create a server level user that can create databases on the server for restoring purposes. The user will also need to create users on the new databases too.

Any help on this issue would be greatly appreciated.
Whilst you can use the dbcreator role, I wouldn't personally. It can drop existing databases, and alter them. 

In fact I tend to stay away from fixed server roles completely, in favour of designing my own server roles with appropriate rights.

I would do the following to grant the specific, granular right you need:

GRANT CREATE DATABASE TO [my_db_restore_user];


This should allow them to create databases only. Obviously it's worth thinking about the fact that this login then becomes the owner of that database and can subsequently drop it.