Wir haben ein System mit 2 Clients (die erhöht werden). Diese beiden Clients verbinden sich mit dem gleichen Server/der gleichen Datenbank, jedoch sollte keiner die anderen sensiblen Informationen sehen können. Es gibt jedoch einige nicht vertrauliche Informationen.SQL Server, wie der Zugriff auf Daten zwischen Clients in der gleichen Datenbank zu steuern
Es gibt auch eine administrative Abteilung, die im Auftrag auf beiden Clients arbeitet. Sie dürfen alle sensiblen Daten sehen.
Wir behandeln dies derzeit, indem wir eine ClientID für die fraglichen Tabellen halten und mit einer Mischung aus Sichten und Abfragen die ClientID überprüfen, um den Zugriff für jeden Client zu kontrollieren.
Ich möchte zu einer konsequenten Handhabung von diesem in unserem System, z.B. alle Ansichten oder alle Abfragen, aber ich fragte mich, ob es vielleicht ein einfacheres/besseres Muster gab, als Ansichten zu verwenden, um mit dieser Situation umzugehen?
Wir verwenden Sql Server 2005, jedoch ist ein Upgrade auf 2008 möglich.
Prost
Genau wie wir Berichterstattung in MS Reporting Services behandeln; Wir haben Views, die durch SPID mit Tabellen verbunden werden, die zur Ausführungszeit Berechtigungen für die Daten auf einer Zeilenebene festlegen. – u07ch
verbinden Sie durch Spids? Also füllen Sie die Spid-Tabelle jedes Mal, wenn ein neuer Benutzer eine Verbindung herstellt? –
Also, wenn wir 50 Clients haben, muss die App für die Admins Verbindungen zu allen 50 Datenbanken herstellen? – MrEdmundo