3

私のデータベースは共有ホスティングでホストされています。ManagementStudioExpressでデータベースをリモートで接続します。sqlserverインスタンスに接続しようとすると、そのサーバーインスタンスでホストされているすべてのデータベースが表示されます。これは、他のユーザーの400のデータベースから常に自分のデータベースを見つけるのが面倒です。

データベースのリストを、私が獲得した、または許可を得たデータベースに絞り込む方法はありますか?許可がない、または所有していないデータベースを見たくありません。

私のデータベースは共有ホスティングでホストされており、ユーザーとしての特権は限られていることを忘れないでください。

4

2 に答える 2

1

私は同様の問題を調査しましたが、これに対して機能することがわかった唯一の方法は少しハックですが、この場合は機能する可能性があります. あなた (または共有ホストの管理者) がログインをデータベースの DBO にし、ログインのすべてのデータベースに対して DENY VIEW を設定できる場合、接続時にログインが所有するデータベースのみが表示されます。したがって、t-sql は次のようになります。

`AdventureWorks2008R2を使用

DATABASE::AdventureWorks2008R2 の ALTER AUTHORIZATION を TestLogin に変更

マスターを使う

TestLogin へのデータベースの表示を拒否する`

これがあなたのシナリオに適しているかどうかはわかりませんし、それがベストプラクティスであるとは断言できませんが、役立つかもしれません!

于 2013-01-23T16:57:57.890 に答える