EdvardGundersen this is not an issue. This is an expected behavior... When you create contained users, in this case was AAD user, but could be SQL login (contained user). You are only able to connect to the specified DB, if you want to connect to master db or to list the available dbs (master metadata) you need to have this user created also on master.
- If user is application user, its not needed any permission on master. And application connection should specify database name
- If user is a SSMS user and if you do not want to always specify the database name you can create user on master DB to have a more simple navigation on SSMS. You do not need any special permission on master, just create user on master should be enough
Traditional model |
Contained database user model |
When connected to the master database:
CREATE LOGIN login_name WITH PASSWORD = 'strong_password';
Then when connected to a user database:
CREATE USER 'user_name' FOR LOGIN 'login_name'; |
When connected to a user database:
CREATE USER user_name WITH PASSWORD = 'strong_password'; |