2017-10-01 11 views
0

セキュリティシステムのデータベースであるSQL Server 2012インスタンスがあります。ここでは、別のチームがSQL Serverで特定のレコードを選択できるようにするシナリオがあります。つまり、要件のために4つのビューを作成しました。選択したビューのサーバーをリンクサーバーとして設定するにはどうすればよいですか?

しかし、私たちはすべてのテーブルを提供したりリストしたりするのではなく、これらの4つのビューを私たちのシステムで見て照会できるようにしたいと思います。私が多くのドキュメントを読むと、SQL Serverをリンクサーバーとして作成することができます。

リンクサーバー経由ではどうすればよいですか?

答えて

1

ビューは特定のスキーマ内にありますか? ユーザーにそのスキーマへのアクセスを許可し、そのスキーマからメタを読み取り、参照できるようにしてください。

https://docs.microsoft.com/en-us/sql/relational-databases/security/metadata-visibility-configuration

+0

現時点では1つのスキーマしかなく、すべてのビューとテーブルが同じスキーマにあります – aryan

+1

スキーマはアクセスをセグメント化する最も自然な方法です。 –

+0

というように、別のスキーマを作成してそこにビューを配置する必要があります。 – aryan

1

我々は彼らにすべての私たちのテーブルを提供したり、一覧表示したくないだけ は、これらの4つのビューは、我々のシステムで見ると、クエリすることができます。

これを行うためにリンクサーバーは必要ありません。

あなたが必要とするのは、これらの4つのビューに対する許可をSELECTに付与することです。

データベースにユーザーを作成し、そのユーザーに権限を与えないと、ユーザーテーブル/ビューがまったく表示されません。また、アクセス権を付与するオブジェクトのみを参照して照会することができます

+0

その場合、リンクサーバーは実装されていますか? – aryan

+0

リンクサーバーは、2台のサーバーがあり、両方のサーバーからデータを作成したい場合に実装されます。つまり、select *のようなクエリをserver2.RemoteDB.dbo.myRemoteTableから作成する必要があります。join dbo.myLocalTable – sepupic

関連する問題