Make a database inaccessible through "sa" user but should be accessible through another user I have a database BugTracker which is accessible from "sa" user.

I have just created new user AdminBugCatcher. I have also mapped "BugTracker" database with this user. But this database should not be accessible through "sa" user.

How can we achieve the same ?

I have already tried to unlink this database from "sa" user but getting an error "Drop failed for the User "dbo" ".
There is no way to prevent the "sa" login from accessing every database on the server.  If the "sa" login isn't needed (which it shouldn't ever be needed) then disable it.  If it is needed, then there's nothing you can do as anything that you put in place to block it, the "sa" login can remove.