Thanks to you both for your replies.
I assume from your replies that SSMS cannot change the root of the
Object explorer at all? This seems a very obvious requirement to me :(
First, you can set the default database for the users to be the
specified database. Next you can deny VIEW ANY DATABASE to the user.
Then make sure the user is DBO for the specified database, and that will
provide the filtering.
Unfortunately changing the permissions on any of the servers is not
viable - each of my users requires access to many SQLServers and
multiple databases on each one.
Create a shortcut for SSMS and add the parameters
-S server -d db -E
The command line parameters only open an SQL query window to the
specified database - what my users need is really a shortcut that
opens SSMS to the Summary view of the database so they can drill down
to see Tables, Views etc. This means they could have multiple SMSS
windows open, each restricted to looking at a single database.