データベースリストをSQL Serverの権限を持つものに制限する
-
03-07-2019 - |
質問
デフォルトでは、10個のデータベースのうち1個にアクセスできるアカウントを介してリモートSQL Serverに接続する場合。オブジェクトエクスプローラには、他のすべてのデータベースが表示されます。明らかにアクセス許可のため、実際にクエリすることはできませんが、名前は表示できます。
この動作を無効にする方法があると聞きましたが、答えを見つけることができませんでした。誰もこれを行う方法を知っていますか?例として、MyDbServerというSQL Serverがあり、4つのデータベースがあります、
- MyDatabase
- YourDatabse
- PrivateDatabase
- ReallyPrivateDb
" YourDatabse"へのアクセス許可のみを持つアカウントを介して接続する場合他のすべてのデータベースのリストが引き続き表示されます。クエリを実行すると、「選択」が許可されます。許可が拒否されたか、同様のエラー。
セキュリティ上の理由から、ユーザーがマッピングされているデータベース以外のデータベースをユーザーに見せないようにします。
解決
このブログは非表示の方法について説明していますSQL 2000とSQL 2005の両方のDB。
他のヒント
クライアントが特定されたリソースと格闘した後、いくつかのテストを行い、このブログの投稿にもう少しコンテキストとこれを機能させる方法の説明があります。
短いのは:
use master
go
deny VIEW any DATABASE to login1
go
login1は、制限するログインアカウントです。
所属していません StackOverflow