2016-05-23 12 views
0

私はSQLサーバーを初めて使用しています。今では何千ものテーブルが格納されたデータベースを持っています。私はこのデータベースを複製し、この複製を他のベンダーに渡したいが、セキュリティ上の懸念から、テーブルのすべてのフィールドをマスクしたい。ベンダーは実際にテーブルに格納されているものを気にしませんが、テーブルに関する構造やディストリビューションについては気にします。SQL Serverでデータベース全体を隠す方法はありますか?

アイデアは、現在のデータベースをコピーしてからマスクすることです。しかし、SQLサーバーがこの方法を提供してプロセスを簡素化するかどうかはわかりません。コメントや提案を感謝しています!

+0

だから、あなたはテーブル構造だけのデータは必要ありませんか? –

+0

テーブルが必要ですが、それらは偽のテーブルのようにすることができます。 ERダイアグラムは今のところ十分ではありません。 – Lubor

+0

私はあなたがマスキングをする代わりにテーブルを切り捨てることができるように、データが必要かどうか尋ねています。私は、マスキングがSQL Server 2016で利用可能だと信じています。 –

答えて

0

ただ、下記のクエリを使用してデータベースにアクセスするユーザーに対してビュー定義の権限を拒否: -

USE master 
GO 
DENY VIEW ANY DEFINITION TO User1 

あなたはユーザー1に、この権限を拒否すると、テーブルなどのすべてのオブジェクト、SP、ビューなどがされます彼がオブジェクトを知っていれば、データベースに隠されていて、いつでもuser1は自分が望むものを何でもすることができます。

これは、すべてのオブジェクトをユーザーからマスクします。

+0

データベースを複製してベンダーに渡している場合、ベンダーはターゲットシステムへのフルアクセス権を持ち、この制限を解除するだけで、これは機能しません。 –

関連する問題