Create new login,new user with permissions. user can see only owned databases.
@declare @dbname nvarchar(255)
@declare @username nvarchar(255)
@declare @userpass nvarchar(255)
--Create user
USE [master]
CREATE LOGIN [@username] WITH PASSWORD=@userpass, DEFAULT_DATABASE=@dbname, DEFAULT_LANGUAGE=[Turkish], CHECK_EXPIRATION=ON, CHECK_POLICY=ON ,
--create LOGIN
GO
USE [@dbname]
CREATE USER [@username] FOR LOGIN [@dbname] WITH DEFAULT_SCHEMA=[dbo]
--deny view to all databases
USE MASTER
DENY VIEW ANY DATABASE TO @username
--change owner of database
EXEC sys.sp_changedbowner @loginame = @username, @map = '' -- varchar(5)