• You can DENY VIEW ANY DATABASE (REVOKE is not enough) and make the user the database owner (different than being in the db_owner Role) of the database:

    USE [master]

    GO

    DENY VIEW ANY DATABASE TO [YourServerLogin];

    GO

    USE [YourDatabase]

    GO

    -- note: the server login cannot be mapped to a database user. if the login is mapped to a

    -- user you first have to drop the user before making the login the database owner

    -- also note: a database can only have one owner so this technique only works if each login

    -- has its own database and the login should have full control over that database

    ALTER AUTHORIZATION ON DATABASE::[YourDatabase]TO [YourServerLogin]

    GO

    edit: fix dbo

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato