4

デフォルトでは、10 個のデータベースのうちの 1 つにアクセスできるアカウントを介してリモート SQL Server に接続する場合。オブジェクト エクスプローラーには、他のすべてのデータベースが表示されます。アクセス許可のため、実際にクエリを実行することはできませんが、名前は表示されます。

この動作を無効にする方法があると聞きましたが、答えを見つけることができませんでした.誰かがこれを行う方法を知っていますか? 例を挙げると、MyDbServer という SQL Server があり、4 つのデータベースがあり、

  1. マイデータベース
  2. あなたのデータベース
  3. プライベート データベース
  4. リアリープライベートデータベース

「YourDatabse」へのアクセス許可のみを持つアカウントを介して接続する場合、他のすべてのデータベースのリストが引き続き表示されます。クエリを実行しようとすると、「select」アクセス許可が拒否されるか、同様のエラーが発生します。

セキュリティ上の理由から、ユーザーがマップされているデータベース以外のデータベースをユーザーに見せたくありません。

4

3 に答える 3

1

このブログでは、SQL 2000 と SQL 2005 の両方で DB を非表示にする方法について説明しています。

于 2008-10-14T14:13:18.930 に答える
1

特定されたリソースでクライアントに苦労してもらった後、いくつかのテストを行い、これを機能させる方法についてもう少しコンテキストと指示を記載してこのブログ投稿を作成しました。

于 2008-10-15T21:19:38.350 に答える
0

それの短いです:

use master
go
deny VIEW any DATABASE to login1
go

ここで、login1 は、制限するログイン アカウントです。

于 2008-10-14T14:17:39.500 に答える