SQL server - a db user should only see his DB and no other.

1) You got to remove the VIEW ANY DATABASE permission for the public group.

(T-SQL)

USE master
Deny VIEW ANY DATABASE to public

2) to let the user see his database you must make this user the owner of the db when you create the database:

screenshot

see here for more details.

make user owner of db during creation.jpg