SQL Server 2005/2008にログインするときにアクセス権のないデータベースを隠すにはどうすればよいですか?現在、ユーザーが接続すると、サーバー上のすべてのデータベースが表示されます。つまり、リストをスキャンしてデータベースを検索する必要があります。Management StudioからSQLデータベースを隠す
答えて
あなたは
は、データベースaを制限するMS SQL 2005と2008のサーバー側の設定があるように見えるの許可役割PUBLICから「任意のデータベースを表示」(以降のSQL Server 2005)を取り消す必要があるだろうユーザーに表示されることがあります。 sql-server-performance.com
SQL Server 2005では、作成された新しいサーバー側の役割が可能です。 VIEW ANY DATABASE権限は、サーバーレベルの新しい権限です。この権限で付与されたログインでは、ログインが特定のデータベースを所有しているか実際に使用できるかにかかわらず、すべてのデータベースを記述するメタデータが表示されます。注意:デフォルトでは、VIEW ANY DATABASE権限はpublicロールに付与されています。したがって、既定では、SQL Server 2005のインスタンスに接続するすべてのユーザーは、インスタンス内のすべてのデータベースを参照できます。
これは実際には意味をなさないやり方ではありません。公開ロールからすべてのデータベースを取り消しますが、ユーザーはデータベースのデータベース所有者である必要があります。または表示できませんが、引き続きアクセスできます。問題は、データベースエンジンセキュリティの欠点であり、SQL Serverの現在または将来のリリースでは修正されない可能性があります。 Erland Sommarskog氏はこれまでに次の接続項目を開いていましたが、最近Twitterで、SQL MVPでMicrosoftと話し合いました。投票接続し、助けることが優先順位のよりMicrosoftが修正するために作る:基本的に権限はデータベースレベルで保存されている
を、それは、ユーザが接続しているかどうかを判断するために、各データベースを列挙が必要となりますオブジェクトエクスプローラにデータベースを表示する権利があります。これは、実行するには高価なタスクであり、以前のEMはこれまでどのように操作していましたか。提案する解決策は、この情報がサーバーレベルでも維持されることです。これは大きな変更です。
1 DBにしかアクセスできない、そのDBだけを見ることができるユーザーアカウントを作成する方法を理解してから、時間がたっています。私はそれを考え出したと思う!
ユーザーアカウントを作成します(提案された解決策そうでなければ、最終的にエラーメッセージ15110、レベル16、状態1を取得しますが、そのいずれかのデータベースにマッピングされていないことを確認し、注意してください)
USE [master] GO CREATE LOGIN [us4] WITH PASSWORD=N'123', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
- を
SQL(SQLSERVER名)の上部を右クリック>プロパティ>権限>ユーザーアカウントをクリックし、拒否を選択してデータベースを表示します。
[マスター] を使用GO は右新たに作成したDB、プロパティ、ファイルをクリックし、新しく作成したアカウントに所有者を変更[US4]
を視野に任意のデータベースを拒否します。彼はマスター、tempdbのを見てますでしょうにユーザがログインすると、この時点で
USE [dbname] GO EXEC dbo.sp_changedbowner @loginame = N'us4', @map = false
を:(重要な注意 ALTER ROLEは、[db_ownerロール] MEMBERは[US4] 動作しないADD)彼がDB所有者である新しいDBも見てください。あなたはTools> Optionに行き、マスタ、tempdbなどを表示しないようにシステムオブジェクトを隠すオプションを有効にすることができます。このオプションはメッセージ15110に
Msg 15110, Level 16, State 1, Line 1
The proposed new database owner is already a user or aliased in the database.
提案されたソリューションを動作しない場合にも、SP1が必要になる場合があります単にデータベース・セキュリティ・ノードからユーザーを削除し、エラーの上解決すると助け再び
希望をしてみてください。.. 。
ニキル
これはいいですが、そのユーザーをdbの所有者にしたくない場合でも、それを見ることができますSSMSで? – friism
私はこれを長い間探してきました、ありがとう! –
クールこれは私のために働いた... friism - あまりにもマイクロ管理行くIMO;)あなたはIEのテーブルドロップ/追加、切り捨てなどが必要なものを否定することによって、このコンセプトを微調整することはできません... – bbqchickenrobot
USE master; GO
DENY VIEW ANY DATABASE TO [loginname]; GO
USE [your db]; GO
DROP USER [loginname]; GO
USE master; GO
ALTER AUTHORIZATION ON DATABASE::[your db]TO [loginname]; GO
このコードの内容を説明できますかそれが他の回答とどのように異なるか – userSteve
- 1. は、SQL Management Studioの
- 2. SQL Management StudioとTFS
- 3. 欠落SQL Management Studioを
- 4. SQL Server Management Studioで作成したデータベースを公開する
- 5. SQL 2005 Management Studioのインストール
- 6. SQL Server Management Studio VS2010用
- 7. SQL Management Studioのエディタに
- 8. SQL Server Management Studioのマクロ
- 9. SQL Server 2008 Management Studioスニペット
- 10. SQL Server Management Studioのユニットテスト
- 11. SQL Server Management Studio - 常にトップ
- 12. Excel 2007とSQL Server Management Studio
- 13. ASP.NETデータベースをSQL Server Management Studioに添付できません
- 14. スクリプト内からスクリプトを実行するMicrosoft SQL Server Management Studio
- 15. SQL Server Management Studio用のT/SQLフォーマットアドイン
- 16. SQL Management Studioにサーバーを追加する
- 17. SQL Management StudioでCommandTimeoutを変更する
- 18. SQL Server Management Studio Intellisenseキャッシュを自動的に更新する方法はありますか。 SQL Server Management Studioで
- 19. SQL Management Studio 2008 R2でのデータベース名のフィルタリング
- 20. SQL Server Management Studioデータベース図(ER)のアクセス許可の表示
- 21. SQL Management Studioで "goto"データベースを設定することはできますか?
- 22. SQL Server 2012から.CSVをManagement Studioにエクスポート
- 23. SQL Server Management Studio Expressを使用してMSDEデータベースに接続できますか?
- 24. SQL Server Management Studioと同期するデータ
- 25. 2008 R2インストール後にSQL Server Management Studioが見つからない
- 26. SQL Management StudioからSQL Server 2008のストアドプロシージャをデバッグできません
- 27. SQL Server Management Studioの2005とソース管理
- 28. SQL Server Management Studio更新時カスケード
- 29. SQL Server Management Studio ExpressおよびMySQL?
- 30. SQL Server Management Studioのエラーここ
注:データベースのDBOのログインこのユーザを作ることができない場合、これはあなたのために動作しない場合があります管理者に尋ねたり、複数のログインをこのようにしたい場合は、1つのログインのみがデータベースの実際のDBOになる可能性があります。 –