DENY VIEW ANY DATABASE を使用できます 特定のユーザーのコマンド。これは、SQL Server 2008 で利用できる新機能です。
これにより、ユーザーはシステム カタログ (sys.databases、sys.sysdatabases など) を見ることができなくなり、SQL Management Studio (SSMS) で DB が見えなくなります。
マスター データベースから次のコマンドを実行します:
DENY VIEW ANY DATABASE TO 'loginName'
ユーザーはアプリケーションを介してデータベースにアクセスできます。ただし、SSMS 経由でログインした場合、データベースはデータベースのリストに表示されず、クエリ ウィンドウを開いた場合、データベースはドロップダウンに表示されません。
ただし、これは万能ではありません。ユーザーがクエリ コマンドを実行できるほど賢い場合:
USE <YourDatabaseName>
次に、クエリ アナライザーでデータベースを確認します。
この解決策で 90% は達成できるので、ユーザーにデータベースの名前がわからないように、データベースにわかりにくい名前を付けます。