少数のデータベースでセキュリティレイヤーを作成しています。その一環として、異なるデータベースの2つのテーブル(共用体)を結合するOriginal_Database
のビューを作成する必要があります(Chained_Database1
およびChained_Database2
)。SQL Server 2012 - ユーザーの秘密に基づいてビューからデータを動的に選択する方法
USE Original_Database;
GO
CREATE VIEW QueryATable
AS
SELECT * FROM Chained_Database1.dbo.ATable
UNION
SELECT * FROM Chained_Database2.dbo.ATable;
GO
でユーザーusergroupA(ユーザーグループ)のログであれば、その後、彼はChained_Database1.dbo.ATable
からのデータのみを見ることができるはずOriginal_Database
からの眺めQueryATable
から選択します。
同様に、usergroupBがログインしてビューQueryATable
から選択すると、彼はChained_Database2.dbo.ATable
のデータしか見ることができません。
私はユーザーに異なる権限を与えようとしました。これは、ビューのアクセスを拒否するか、2つの表から結果を出すことです。
お手数をおかけしますようお願い申し上げます。
ありがとうございます!
1つのテーブルにアクセスするためだけにユーザーにアクセスできるように、別のビューを作成する必要があります。私は要件を明確に理解していません –
usergroupBにはDatabase2のデータしか表示されませんか? – scsimon
はい、正しい... –